エンタープライズ向けスタートガイド
競争力を維持するためには、チームがより迅速にセキュアなコードをリリースできるよう、DevSecOpsを簡素化しスケールさせる方法が必要です。このガイドでは、Premiumプランで自動化されたソフトウェア開発とデリバリーに必要な基本要素を素早くセットアップする方法を説明します。Ultimateプランで提供されるセキュリティ、コンプライアンス、プロジェクト計画機能のオプションについてもご紹介します。
PremiumまたはUltimate
適切なプランを決定するには、以下を検討してください:
必要なセキュリティとコンプライアンス
- シークレット検出、SAST、コンテナスキャンはPremiumプランで利用できます。
- DAST、依存関係、クラスターイメージ、IaC、API、ファジングなどの追加スキャナーはUltimateプランで利用できます。
- マージリクエストパイプラインとセキュリティダッシュボードに統合された実用的な検出結果は、脆弱性管理のためにUltimateプランが必要です。
- コンプライアンスパイプラインにはUltimateプランが必要です。
- セキュリティスキャナーとコンプライアンス機能の詳細をご確認ください。
必要なシート数の決定
GitLab SaaSサブスクリプションは同時利用(シート)モデルを使用します。請求期間中にトップレベルグループまたはその子グループに割り当てられたユーザーの最大数に応じて、サブスクリプション料金をお支払いいただきます。サブスクリプション期間中にユーザーを追加・削除できますが、任意の時点での総ユーザー数がサブスクリプション数を超えないようにする必要があります。
SaaSサブスクリプションの取得
GitLab SaaSは、GitLab.comで利用できるGitLabのソフトウェア・アズ・ア・サービス提供です。GitLab SaaSを使用するために何もインストールする必要はなく、サインアップするだけです。サブスクリプションによって、プライベートプロジェクトで利用できる機能が決まります。パブリックオープンソースプロジェクトを持つ組織は、GitLabオープンソースプログラムに積極的に申請できます。
GitLab Ultimateの機能(50,000分コンピューティング時間を含む)は、オープンソース団体向けGitLabプログラムを通じて、適格なオープンソース団体向けプロジェクトに無料で提供されます。
必要なCI/CD共有Runner分数の決定
共有Runnerは、GitLabインスタンス内のすべてのプロジェクトとグループで共有されます。共有Runnerでジョブが実行されると、コンピューティング時間(分)が使用されます。GitLab.comでは、コンピューティング時間(分)のクォータは各ネームスペースに設定され、ライセンスプランによって決定されます。
GitLab.comでは、月次クォータに加えて、必要に応じて追加のコンピューティング時間(分)を購入できます。
必要なシート数の決定
GitLab Self-Managedサブスクリプションは同時利用(シート)モデルを使用します。請求期間中にトップレベルグループまたはその子グループに割り当てられた最大ユーザー数に応じて、サブスクリプション料金をお支払いいただきます。サブスクリプション期間中はユーザーの追加・削除が可能ですが、任意の時点での合計ユーザー数がサブスクリプション数を超えないことが条件となります。
Self-Managedサブスクリプションの取得
独自のGitLabインスタンスをインストール、管理、メンテナンスできます。GitLabサブスクリプション管理には、カスタマーポータルへのアクセスが必要です。
GitLab Enterprise Editionのアクティベート
ライセンスなしで新しいGitLabインスタンスをインストールすると、Freeプランの機能のみが有効になります。GitLab Enterprise Edition(EE)でより多くの機能を有効にするには、アクティベーションコードでインスタンスをアクティベートします。
システム要件の確認
GitLabのインストールと使用に必要なサポート対象オペレーティングシステムと最小要件の両方を確認します。
GitLabのインストール
インストール方法を選択します。
クラウドプロバイダーにインストール(該当する場合)
インスタンスの設定
組織のニーズに合わせてGitLabインスタンスを設定します。
オフライン環境のセットアップ
パブリックインターネットからの隔離が必要な場合(通常、規制業界に適用)にオフライン環境をセットアップします。
CI/CD共有Runnerのコンピューティング時間制限の検討
Self-Managed GitLabインスタンスでのリソース使用量を制御するため、管理者は各ネームスペースのコンピューティング時間(分)のクォータを設定できます。
GitLab Runnerのインストール
GitLab RunnerはGNU/Linux、macOS、FreeBSD、Windowsにインストールして使用できます。
GitLab Runnerの設定(オプション)
GitLab Runnerは、ニーズやポリシーに合わせて設定できます。
管理
Self-Managedには自己管理が必要です。
シークレット管理や認証サービスなどの機能を追加したり、イシュートラッカーなどの既存アプリケーションを統合したりできます。
組織とそのユーザーを設定します。ユーザーのロールを決定し、必要なプロジェクトへのアクセス権をすべての人に付与します。
GitLabでは、コードベースをホストするプロジェクトを作成できます。また、プロジェクトを使用してイシューの追跡、作業を計画し、コードでコラボレーションし、継続的にビルド、テスト、そして組み込みCI/CDを使用したアプリのデプロイも可能です。
要件、イシュー、エピックを作成して作業を計画します。マイルストーンで作業をスケジュールし、チームの時間を追跡できます。クイックアクションで時間を節約する方法、GitLabでのMarkdownテキストのレンダリング、GitとGitLabを使った操作方法について学習しましょう。
ソースコードをリポジトリに追加し、マージリクエストを作成してコードをチェックインし、CI/CDを使用してアプリケーションを生成します。
使用するスキャナーの選択(すべてデフォルトで有効)
GitLabは、これらすべての依存関係タイプをカバーするため、コンテナスキャンと依存関係スキャンの両方を提供しています。リスク領域を可能な限りカバーするため、すべてのセキュリティスキャナーの使用をお勧めします。
セキュリティポリシーの設定
GitLabのポリシー機能により、セキュリティチームは指定した設定に従ってプロジェクトパイプラインが実行されるたびに、選択したスキャンの実行を必須にできます。したがって、セキュリティチームは、設定したスキャンが変更、改変、無効化されていないことを確信できます。
MR承認ルールとセキュリティ承認の設定
適切なレビュープロセスを確保するため、マージリクエスト承認ルールとセキュリティ承認を設定します。
アプリケーションを内部環境または公開環境にデプロイします。機能フラグを使用して段階的にリリースできます。
GitLabは、アプリケーションの運用と保守を支援するさまざまなツールを提供しています。チームにとって最も重要なメトリクスを追跡し、パフォーマンスが低下したときに自動アラートを生成し、それらのアラートをすべてGitLab内で管理できます。
GitLabには、GitLab 8.4以降、「GitLabパフォーマンスモニタリング」と呼ばれる独自のアプリケーションパフォーマンス測定システムが搭載されています。GitLabパフォーマンスモニタリングにより、さまざまな統計を測定できます。
DevSecOpsとSREアプローチの台頭により、インフラストラクチャ管理は体系化され、自動化可能になり、ソフトウェア開発のベストプラクティスもインフラストラクチャ管理に適用されるようになりました。GitLabは、インフラストラクチャ管理の実践を高速化し簡素化するさまざまな機能を提供します。
エンドユーザーに価値を提供する頻度を測定します。デプロイ頻度が高いほど、より早くフィードバックを得て、改善と機能の提供をより迅速に反復できます。


