IBM Cloud Docs
プロジェクトをGitリポジトリと統合する

プロジェクトをGitリポジトリと統合する

プロジェクトをGitリポジトリに接続して、そこに構成を保存します。 そうすることで、リポジトリと、選択した CI および CD ツールを使用して、プロジェクト内の構成のパイプラインを自動化できます。

これは評価とテストの目的で利用できる実験的な機能であり、予告なく変更される可能性があります。

パイプラインとツールチェーンはカスタマイズ可能なので、プロジェクトの API メソッドまたは CLI コマンドを使用して、 Gitリポジトリとプロジェクト間の多くのアクションを自動化できます。 たとえば、構成の変更がリポジトリのメイン ブランチにマージされたときにプロジェクトの更新をトリガーするパイプラインを作成できます。 詳細については、 Gitリポジトリでのプロジェクト アクションの自動化」 を参照してください。

プロジェクトでは、ドラフト構成をリポジトリ内の任意のブランチに保存できます。 ただし、ドラフト構成を検証してデプロイできるのは、CD パイプラインを管理するリポジトリ内のブランチにマージされた後のみです。 構成を検証してデプロイする前に、構成を更新してリポジトリからの更新をプロジェクトに同期する必要もあります。 この更新は、 project.config.update API メソッドを使用するか、 ibmcloud project config-update CLI コマンドを使用して自動化できます。

開始前に

  1. Gitリポジトリの統合を管理するには、 IBM Cloudプロジェクト サービスで編集者のロールを持っていることを確認してください。

  2. Gitリポジトリに接続するためのシークレットとしてアクセス トークンを保存します。 アクセス トークンには、使用するブランチへの書き込みアクセス権と、リポジトリにコミットを作成する権限が必要です。 アクセス トークンには、ブランチを一覧表示して読み取る機能も必要です。

    1. IBM Cloudアカウントに Secrets Managerサービス インスタンスを作成します。 シークレットを作成するには、 Secrets Manager サービスで Writer ロール以上を持っている必要があります。

    2. シークレット インスタンスを作成したら、任意のシークレットを追加するために 「その他のシークレット タイプ」 を選択してください。 任意のシークレットを作成する方法については、 「UI で任意のシークレットを作成する」 を参照してください。 任意のシークレットには、 Gitリポジトリのアクセス トークンが含まれている必要があります。

プロジェクトを Git リポジトリに接続する

Gitリポジトリをプロジェクトに接続します。 そうすることで、構成の変更はプロジェクトの JSON ファイルではなくリポジトリに保存されます。 プロジェクトでは構成をリポジトリに保存する必要があるため、プロジェクトからリポジトリを認証するためのアクセス トークンを提供する必要があります。

  1. IBM Cloudコンソールで、ナビゲーション メニューアイコンナビゲーション メニュー アイコン>プロジェクト をクリックし、プロジェクトを選択します。
  2. 「管理」タブから 「統合」 を選択します。
  3. Gitリポジトリ統合セクションで、 「接続」 をクリックします。
  4. リポジトリ タイプメニューから、構成の管理に使用するリポジトリのタイプを選択します。 通常、このリポジトリは、パイプラインとツールチェーンを管理するために使用するリポジトリです。 GitHubGitLabGitHub Enterprise を選択できます。
  5. リポジトリへの URL を入力する。
  6. 必要に応じて、リポジトリ内のフォルダーを指定します。 リポジトリを複数のプロジェクトと統合する場合は、フォルダーを指定することを検討してください。 各プロジェクトには独自のフォルダーを設定できます。
  7. アクセス トークン フィールドにマウスを合わせるかクリックし、シークレットアイコンキー アイコン をクリックして、アクセス トークンを含むシークレットを選択します。
  8. プロジェクトにすでに構成が含まれている場合は、 「既存の構成ファイルをこのリポジトリにコピーする」 を選択して、既存の構成をリポジトリに保存します。
  9. 保存 をクリックします。

次のステップ

Gitリポジトリがプロジェクトに接続されたので、パイプラインとツールチェーンをカスタマイズする準備が整いました。 変更がメイン ブランチにマージされたときにプロジェクトの構成を自動的に更新するパイプラインを作成する方法については、 Gitリポジトリでのプロジェクト アクションの自動化」 を参照してください。