CI/CDの設定
CI/CDを使うと、PRやマージリクエスト(MR)の作成・マージをトリガーに、設定の差分検出や反映を自動化できます。コード管理は以下のCIサービスに対応しています。
- GitHub Actions — 公式のComposite Action
bm-actionでOIDC認証・bm sync実行・PRコメント投稿を一括で扱う - GitLab CI —
id_tokensでOIDC ID Tokenを取得し、bm syncを実行する
認証の考え方
どちらのCIでも、bm syncはOIDC ID Tokenを使ってベースマキナのサービスアカウントとして認証します。CI/CDが発行したID Tokenを環境変数BM_OIDC_TOKENに設定すると、bm syncがこれを参照します。
あらかじめサービスアカウントにOIDC信頼ポリシーを設定し、CI/CDが発行するID TokenのIssuer / Audience / Bound Claimsが整合していることを確認してください。IssuerやBound Claimsに設定する具体的な値はCIサービスごとに異なります。詳細は各ページをご参照ください。
bm syncは実行環境(GitHub Actions、GitLab CI、ローカル端末など)を自動で検出し、出力形式を切り替えます。GitHub ActionsおよびGitLab CI上では、変更の詳細を<details>タグで折り畳んでPRやMRのコメントに貼り付けやすいMarkdown形式で出力します。