中小企業向けスタートガイド
迅速な市場投入と競合他社を上回るイノベーションが必要です。複雑なDevSecOpsプロセスによって足を引っ張られるわけにはいきません。このガイドでは、Premiumプランでの自動化されたソフトウェア開発・デリバリーに必要な基本要素を迅速にセットアップする方法と、Ultimateプランで提供されるセキュリティ、コンプライアンス、プロジェクト計画機能を含めるオプションについてご説明します。
開始前の注意事項
GitLab 15.1(2022年6月22日)以降、GitLab.comのFreeプランのネームスペースは、ネームスペースあたり5名のメンバーに制限されます。この制限は、トップレベルグループと個人ネームスペースに適用されます。より多くのユーザーがいる場合は、有料プランから始めることをお勧めします。
Free、Premium、またはUltimate
適切なプランを決定するために、次を検討してください:
ユーザー数
GitLabサブスクリプションは、SaaSとSelf-Managedの両方で同時利用(シート)モデルを使用します。ユーザー数/シート数は、プランの選択に影響を与える可能性があります。5名を超えるユーザーがいる場合は、有料プラン(PremiumまたはUltimate)が必要です。
必要なストレージ容量
GitLab SaaSのFreeプランのネームスペースには、5GiBのストレージ制限があります。
望まれるセキュリティとコンプライアンス
- シークレット検出、SAST、コンテナスキャンは、FreeとPremiumで利用できます。
- DAST、依存関係、クラスターイメージ、IaC、API、ファジングなどの追加スキャナーは、Ultimateで利用できます。
- マージリクエストパイプラインとセキュリティダッシュボードに統合された実用的な検出結果には、脆弱性管理のためのUltimateが必要です。
- コンプライアンスパイプラインにはUltimateが必要です。
- セキュリティスキャナーとコンプライアンス機能について詳しくご覧ください。
必要なシート数の決定
GitLab SaaSサブスクリプションは同時利用(シート)モデルを使用します。請求期間中のユーザーの最大数に応じてサブスクリプション料金をお支払いいただきます。サブスクリプション期間中にユーザーを追加・削除できますが、任意の時点での総ユーザー数がサブスクリプション数を超えないようにする必要があります。
SaaSサブスクリプションの取得
GitLab SaaSは、GitLab.comで利用できるGitLabのソフトウェア・アズ・ア・サービス提供です。GitLab SaaSを使用するために何もインストールする必要はなく、サインアップするだけです。サブスクリプションによって、プライベートプロジェクトで利用できる機能が決まります。価格ページにアクセスし、Premiumを購入またはUltimateを購入を選択してください。
パブリックオープンソースプロジェクトを持つ組織は、GitLab for Open Source Programに積極的に申請できます。GitLab Ultimateの機能(50,000分のコンピューティング時間を含む)は、GitLab for Open Sourceプログラムを通じて、適格なオープンソースプロジェクトに無料で提供されます。
必要なCI/CD共有Runner分数の決定
共有Runnerは、GitLabインスタンス内のすべてのプロジェクトとグループで共有されます。共有Runnerでジョブが実行されると、コンピューティング時間が使用されます。GitLab.comでは、コンピューティング時間のクォータは各ネームスペースに設定され、ライセンスプランによって決定されます。
GitLab.comでは、月次クォータに加えて、必要に応じて追加のコンピューティング時間を購入できます。
必要なシート数の決定
GitLab Self-Managedサブスクリプションは、同時利用(シート)モデルを採用しています。請求期間中の最大ユーザー数に基づいてサブスクリプション料金をお支払いいただきます。サブスクリプション期間中はユーザーの追加・削除が可能ですが、任意の時点での合計ユーザー数がサブスクリプション数を超えないことが条件となります。
Self-Managedサブスクリプションの取得
独自のGitLabインスタンスをインストール、管理、メンテナンスできます。価格ページにアクセスし、Premiumを購入またはUltimateを購入を選択してください。
GitLab Enterprise Editionのアクティベート
ライセンスなしで新しいGitLabインスタンスをインストールすると、Free機能のみが有効になります。GitLab Enterprise Edition(EE)でより多くの機能を有効にするには、購入時に提供されるアクティベーションコードでインスタンスをアクティベートしてください。アクティベーションコードは、購入確認メールまたはカスタマーポータルの「購入管理」で確認できます。
システム要件の確認
GitLabのインストールと使用に必要なサポートされているオペレーティングシステムと最小要件を確認してください。
GitLabのインストール
インストール方法を選択してください
クラウドプロバイダーにインストール(該当する場合)
インスタンスの設定
通知用のメールとGitLabの連携、Docker Hubからのコンテナイメージをキャッシュして高速で信頼性の高いビルドを実現するための依存関係プロキシの設定、認証要件の決定など、様々な設定作業が含まれます。
オフライン環境のセットアップ(オプション)
パブリックインターネットからの分離が必要な場合(通常、規制業界に適用)にオフライン環境をセットアップしてください
CI/CD共有Runner分数制限の検討
Self-Managed GitLabインスタンスでのリソース使用量を制御するため、各ネームスペースのコンピューティング時間(分)は管理者が設定できます。
GitLab Runnerのインストール
GitLab RunnerはGNU/Linux、macOS、FreeBSD、Windowsにインストールして使用できます。コンテナ内にインストールするか、バイナリを手動でダウンロードするか、rpm/debパッケージ用のリポジトリを使用してインストールできます。
GitLab Runnerの設定(オプション)
GitLab Runnerは、ニーズとポリシーに合わせて設定できます。
Self-Managed版
Self-Managed版には自己管理が必要です。管理者として、固有のニーズに合わせて調整できる多くの項目があります。
シークレット管理や認証サービスなどの機能を追加したり、イシュートラッカーなどの既存アプリケーションを統合したりできます。
組織とそのユーザーを設定します。ユーザーの役割を決定し、必要なプロジェクトへのアクセス権をすべての人に付与します。
GitLabでは、コードベースをホストするプロジェクトを作成できます。また、プロジェクトを使用してイシューの追跡、作業の計画、コードでの協力、継続的なビルド、テスト、組み込みCI/CDを使用したアプリのデプロイも可能です。
要件、イシュー、エピックを作成して作業を計画します。マイルストーンで作業をスケジュールし、チームの時間を追跡できます。クイックアクションで時間を節約する方法、GitLabでのMarkdownテキストのレンダリング、GitとGitLabを使った操作方法について学習しましょう。
ソースコードをリポジトリに追加し、マージリクエストを作成してコードをチェックイン、CI/CDを使用してアプリケーションを生成します。
使用するスキャナーの選択
GitLabは、Freeプランでシークレット検出、SAST、コンテナスキャンを提供しています。DAST、依存関係スキャン、IaCスキャン、APIセキュリティ、ライセンスコンプライアンス、ファジングは、Ultimateプランで利用できます。すべてのスキャナーはデフォルトで有効になっており、個別に無効にすることもできます。
セキュリティポリシーの設定
GitLabのポリシー機能により、セキュリティチームは指定した設定に従ってプロジェクトパイプラインが実行されるたびに、選択したスキャンの実行を必須にできます。これにより、セキュリティチームは、設定したスキャンが変更、改変、無効化されていないことを確信できます。ポリシーは、スキャンの実行とスキャン結果の両方に設定できます。
マージリクエスト承認ルールの設定
マージリクエストをマージ前に承認必須となるよう設定できます。GitLab Freeプランでは、デベロッパー以上の権限を持つすべてのユーザーがマージリクエストを承認できますが、これらの承認はオプションです。GitLab PremiumとGitLab Ultimateでは、より細かい制御を設定するための追加の柔軟性が提供されています。
アプリケーションを内部環境または公開環境にデプロイします。機能フラグを使用して段階的にリリースできます。
GitLabは、アプリケーションの運用と保守を支援するさまざまなツールを提供しています。チームにとってもっとも重要なメトリクスを追跡し、パフォーマンスが低下したときに自動アラートを生成、それらのアラート管理まで、すべてGitLab内で実行できます。
GitLabには、独自のアプリケーションパフォーマンス測定システムが搭載されています。GitLabパフォーマンスモニタリングにより、さまざまな統計を測定できます。
GitLabは、インフラストラクチャ管理の実践を高速化し簡素化するさまざまな機能を提供しています。
- GitLabはTerraformとの深い統合により、セットアップ不要ですぐに開始できるクラウドインフラのプロビジョニング、コード変更と同様にマージリクエストでインフラ変更のコラボレーション、モジュールレジストリを使用したスケーリングを支援します。
- GitLabとKubernetesの統合により、クラスターアプリケーションのインストール、設定、管理、デプロイ、トラブルシューティングが可能です。
GitLabは、プロジェクト、グループ、インスタンスレベルでの分析機能を提供しています。DevOps Research and Assessment(DORA)チームが開発した主要メトリクスは、ソフトウェア開発チームのパフォーマンス指標として活用できます。GitLab Ultimateにはこれらが含まれています。


