エンタープライズ向けスタートガイド
競争力を維持するためには、チームがより迅速にセキュアなコードを提供できるよう、DevSecOpsを簡素化し拡張する方法が必要です。このガイドでは、Premiumティアでの自動化されたソフトウェア開発・デリバリーに必要な基本要素を迅速にセットアップする方法と、Ultimateティアで提供されるセキュリティ、コンプライアンス、プロジェクト計画機能を含めるオプションについてご説明します。
PremiumまたはUltimate
適切なティアを決定するには、以下を検討してください:
求めるセキュリティとコンプライアンス
-
シークレット検出、SAST、コンテナスキャンはPremiumで利用できます。
-
DAST、依存関係、クラスターイメージ、IaC、API、ファジングなどの追加スキャナーはUltimateで利用できます。
-
実用的な検出結果、マージリクエストパイプラインとセキュリティダッシュボードへの統合には、脆弱性管理のためのUltimateが必要です。
-
コンプライアンスパイプラインにはUltimateが必要です。
-
セキュリティスキャナーとコンプライアンス機能について詳しくご覧ください。
必要なシート数の決定
GitLab SaaSサブスクリプションは同時利用(シート)モデルを使用します。請求期間中にトップレベルグループまたはその子グループに割り当てられたユーザーの最大数に応じて、サブスクリプション料金をお支払いいただきます。サブスクリプション期間中にユーザーを追加・削除できますが、任意の時点での総ユーザー数がサブスクリプション数を超えないようにする必要があります。
SaaSサブスクリプションの取得
GitLab SaaSは、GitLab.comで利用できるGitLabのソフトウェア・アズ・ア・サービス提供です。GitLab SaaSを使用するために何もインストールする必要はなく、サインアップするだけです。サブスクリプションによって、プライベートプロジェクトで利用できる機能が決まります。パブリックオープンソースプロジェクトを持つ組織は、GitLab for Open Source Programに積極的に申請できます。
GitLab Ultimateの機能(50,000コンピュート分を含む)は、GitLab for Open Sourceプログラムを通じて、適格なオープンソースプロジェクトに無料で提供されます。
必要なCI/CD共有ランナー分数の決定
共有ランナーは、GitLabインスタンス内のすべてのプロジェクトとグループで共有されます。共有ランナーでジョブが実行されると、コンピュート分が使用されます。GitLab.comでは、コンピュート分のクォータは各ネームスペースに設定され、ライセンスティアによって決定されます。
GitLab.comでは、月次クォータに加えて、必要に応じて追加のコンピュート分を購入できます。
必要なシート数の決定
GitLab Self-Managedサブスクリプションは同時利用(シート)モデルを使用します。請求期間中にトップレベルグループまたはその子グループに割り当てられたユーザーの最大数に応じて、サブスクリプション料金をお支払いいただきます。サブスクリプション期間中にユーザーを追加・削除できますが、任意の時点での総ユーザー数がサブスクリプション数を超えないようにする必要があります。
Self-Managedサブスクリプションの取得
独自のGitLabインスタンスをインストール、管理、メンテナンスできます。GitLabサブスクリプション管理には、カスタマーポータルへのアクセスが必要です。
GitLab Enterprise Editionのアクティベート
ライセンスなしで新しいGitLabインスタンスをインストールすると、無料機能のみが有効になります。GitLab Enterprise Edition(EE)でより多くの機能を有効にするには、アクティベーションコードでインスタンスをアクティベートしてください。
システム要件の確認
GitLabのインストールと使用に必要な、サポートされているオペレーティングシステムと最小要件の両方を確認してください。
GitLabのインストール
インストール方法を選択してください
クラウドプロバイダーにインストール(該当する場合)
インスタンスの設定
組織のニーズに合わせてGitLabインスタンスを設定してください。
オフライン環境のセットアップ
パブリックインターネットからの分離が必要な場合(通常、規制業界に適用)にオフライン環境をセットアップしてください
CI/CD共有ランナー分数制限の検討
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 Performance Monitoring」と呼ばれる独自のアプリケーションパフォーマンス測定システムが付属しています。GitLab Performance Monitoringにより、さまざまな統計を測定できます。
DevSecOpsとSREアプローチの台頭により、インフラストラクチャ管理は体系化され、自動化可能になり、ソフトウェア開発のベストプラクティスもインフラストラクチャ管理において重要な位置を占めるようになりました。GitLabは、インフラストラクチャ管理の実践を高速化し簡素化するさまざまな機能を提供しています。
これは、エンドユーザーに価値を提供する頻度を測定します。デプロイ頻度が高いほど、より早くフィードバックを得て、改善と機能の提供をより迅速に反復できます。