小規模企業向けスタートガイド
迅速な市場投入と競合他社を上回るイノベーションが必要です。複雑なDevSecOpsプロセスによって足を引っ張られるわけにはいきません。このガイドでは、Premiumティアでの自動化されたソフトウェア開発・デリバリーに必要な基本要素を迅速にセットアップする方法と、Ultimateティアで提供されるセキュリティ、コンプライアンス、プロジェクト計画機能を含めるオプションについてご説明します。
開始前の注意事項
GitLab 15.1(2022年6月22日)以降、GitLab.comのFreeティアのnamespaceは、namespaceあたり5名のメンバーに制限されます。この制限は、トップレベルグループと個人namespaceに適用されます。より多くのユーザーがいる場合は、有料ティアから始めることをお勧めします。
Free、Premium、またはUltimate
適切なティアを決定するには、以下を検討してください:
ユーザー数
GitLabサブスクリプションは、SaaSとSelf-Managedの両方で同時利用(シート)モデルを使用します。ユーザー数/シート数は、ティアの選択に影響を与える可能性があります。5名を超えるユーザーがいる場合は、有料ティア(PremiumまたはUltimate)が必要です。
必要なストレージ容量
GitLab SaaSのFreeティアnamespaceには、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共有ランナー分数の決定
共有ランナーは、GitLabインスタンス内のすべてのプロジェクトとグループで共有されます。共有ランナーでジョブが実行されると、コンピュート分が使用されます。GitLab.comでは、コンピュート分のクォータは各namespaceに設定され、ライセンスティアによって決定されます。
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共有ランナー分数制限の検討
Self-Managed GitLabインスタンスでのリソース使用量を制御するため、各namespaceのコンピュート分クォータは管理者が設定できます。
GitLab Runnerのインストール
GitLab RunnerはGNU/Linux、macOS、FreeBSD、Windowsにインストールして使用できます。コンテナ内にインストールするか、バイナリを手動でダウンロードするか、rpm/debパッケージ用のリポジトリを使用してインストールできます。
GitLab Runnerの設定(オプション)
GitLab Runnerは、ニーズとポリシーに合わせて設定できます。
自己管理
Self-Managedには自己管理が必要です。管理者として、固有のニーズに合わせて調整できる多くの項目があります。
シークレット管理や認証サービスなどの機能を追加したり、課題トラッカーなどの既存アプリケーションを統合したりできます。
組織とそのユーザーを設定してください。ユーザーの役割を決定し、必要なプロジェクトへのアクセス権をすべての人に付与してください。
GitLabでは、コードベースをホストするプロジェクトを作成できます。また、プロジェクトを使用して課題の追跡、作業の計画、コードでの協力、継続的なビルド、テスト、組み込みCI/CDを使用したアプリのデプロイも可能です。
要件、課題、エピックを作成して作業を計画してください。マイルストーンで作業をスケジュールし、チームの時間を追跡してください。クイックアクションで時間を節約する方法、GitLabがMarkdownテキストをレンダリングする方法、GitとGitLabの連携方法について学んでください。
ソースコードをリポジトリに追加し、コードをチェックインするためのマージリクエストを作成し、CI/CDを使用してアプリケーションを生成してください。
使用したいスキャナーの決定
GitLabは、Freeティアでシークレット検出、SAST、コンテナスキャンを提供しています。DAST、依存関係とIaCスキャン、APIセキュリティ、ライセンスコンプライアンス、ファジングは、Ultimateティアで利用できます。すべてのスキャナーはデフォルトで有効になっています。個別に無効にすることもできます。
セキュリティポリシーの設定
GitLabのポリシーは、セキュリティチームが指定した設定に従ってプロジェクトパイプラインが実行されるたびに、選択したスキャンが実行されることを要求する方法を提供します。そのため、セキュリティチームは、設定したスキャンが変更、改変、または無効化されていないことを確信できます。ポリシーは、スキャンの実行とスキャン結果の両方に設定できます。
マージリクエスト承認ルールの設定
マージリクエストをマージする前に承認が必要になるよう設定できます。GitLab Freeでは、Developer以上の権限を持つすべてのユーザーがマージリクエストを承認できますが、これらの承認はオプションです。GitLab PremiumとGitLab Ultimateは、より細かい制御を設定するための追加の柔軟性を提供します。
アプリケーションを社内または一般に公開してデプロイしてください。フラグを使用して機能を段階的にリリースしてください。
GitLabは、アプリケーションの運用と保守を支援するさまざまなツールを提供しています。チームにとって最も重要なメトリクスを追跡し、パフォーマンスが低下したときに自動アラートを生成し、それらのアラートを管理できます - すべてGitLab内で。
GitLabには、独自のアプリケーションパフォーマンス測定システムが付属しています。GitLab Performance Monitoringにより、さまざまな統計を測定できます。
GitLabは、インフラストラクチャ管理の実践を高速化し簡素化するさまざまな機能を提供しています。
- GitLabは、クラウドインフラストラクチャプロビジョニング用のTerraformとの深い統合を持ち、セットアップなしで迅速に開始し、コード変更と同じようにマージリクエストでインフラストラクチャ変更について協力し、モジュールレジストリを使用してスケールできます。
- GitLabとKubernetesの統合により、クラスターアプリケーションのインストール、設定、管理、デプロイ、トラブルシューティングが可能になります。
GitLabは、プロジェクト、グループ、インスタンスレベルでの分析を提供しています。DevOps Research and Assessment(DORA)チームは、ソフトウェア開発チームのパフォーマンス指標として使用できるいくつかの主要メトリクスを開発しました。GitLab Ultimateにはこれらが含まれています。