エンタープライズ向けスタートガイド
競争力を維持するためには、DevSecOpsを簡素化してスケールし、チームが安全なコードをより迅速に提供できるようにする方法が必要です。このガイドでは、Premiumプランで、ソフトウェア開発とデリバリーの自動化に必要な機能を迅速に設定する方法を説明します。オプションとして、Ultimateプランのセキュリティ、コンプライアンス、プロジェクト計画を含めることもできます。
PremiumまたはUltimate
どのプランが適しているかを判断するには、次の点を考慮してください。
必要なセキュリティとコンプライアンス
- Premiumでは、シークレット検出、SAST、コンテナスキャンが利用できます。
- Ultimateでは、DAST、依存関係、クラスターイメージ、IaC、API、ファジングなどの追加のスキャナーを利用できます。
- マージリクエストパイプラインとセキュリティダッシュボードに統合されている実用的な検出結果は、脆弱性管理にUltimateプランを必要とします。
- コンプライアンスパイプラインにはUltimateプランが必要です。
- GitLabのセキュリティスキャナーとコンプライアンス機能についてお読みください。
必要なシート数を決定する
GitLab SaaSサブスクリプションは、同時使用(シート)モデルを使用します。課金期間中にトップレベルグループまたはその子グループに割り当てられた最大ユーザー数に応じて、サブスクリプションの料金を支払います。任意の時点での合計ユーザー数がサブスクリプション数を超えない限り、サブスクリプション期間中にユーザーを追加または削除できます。
SaaSサブスクリプションを入手する
GitLab SaaS は、GitLabがSaaS(サービスとしてのソフトウェア)としてGitLab.comで提供しているサービスです。GitLab SaaSを利用するために何もインストールする必要はなく、登録するだけです。サブスクリプションによって、非公開プロジェクトで使用できる機能が決まります。公開されているオープンソースプロジェクトを持つ組織は、オープンソース団体向けGitLabプログラムに積極的に応募することができます。
50,000分のコンピューティング時間を含むGitLab Ultimateの機能は、オープンソース団体向け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テキストをレンダリングする方法、GitLabとのやり取りにGitを使用する方法を学びます。
ソースコードをリポジトリに追加し、コードをチェックインするためのマージリクエストを作成し、CI/CDを使用してアプリケーションを生成します。
使用するスキャナーを決定する(デフォルトではすべてオン)
GitLabはコンテナスキャンと依存関係スキャンの両方を提供し、これら依存関係タイプすべてのカバレッジを保証します。リスク領域をできるだけカバーするために、GitLabのセキュリティスキャナーをすべて使用することをお勧めします。
セキュリティポリシーの設定
GitLabのポリシーにより、指定した構成に従ってプロジェクトパイプラインが実行されるたびに、選択したスキャンの実行をセキュリティチームに要求することができます。そのため、セキュリティチームは、設定したスキャンが変更、改ざん、無効化されていないことを確信できます。
MR承認ルールとセキュリティ承認の設定
マージリクエストの承認ルールとセキュリティ承認を設定し、適切なレビュープロセスを確保します。
アプリケーションを社内または外部にデプロイします。フラグを使用して段階的に機能をリリースします。
GitLabは、アプリケーションの運用と保守に役立つさまざまなツールを提供しています。チームにとって最も重要な指標を追跡し、パフォーマンスが低下したときに自動アラートを生成し、それらのアラートを管理できます。すべてGitLab内で完結します。
GitLabには、独自のアプリケーションパフォーマンス測定システム「GitLabパフォーマンスモニタリング」が搭載されています(GitLab 8.4時点)。GitLabパフォーマンスモニタリングは、多種多様な統計の測定を可能にします。
DevSecOpsとSREアプローチの台頭により、インフラストラクチャ管理はコード化され、自動化可能になり、ソフトウェア開発のベストプラクティスはインフラストラクチャ管理においても利用されるようになりました。GitLabは、インフラストラクチャ管理プラクティスを高速化および簡素化するためのさまざまな機能を提供します。
エンドユーザーに価値を提供している頻度を測定します。デプロイ頻度が高いと、フィードバックをより早く得ることができ、より迅速にイテレーションを行い、改善や機能を提供できます。


