アプリケーションのCI/CD (コンテナ)
[更新:2025年12月11日]
コードをリポジトリで統合管理し、コンテナのビルド・テスト・デプロイをCI/CDパイプラインにより自動化することで、さくらのクラウド環境への継続的な更新を高速かつ安定して実現します。これにより、人的ミスを削減し、リリース品質と開発効率を向上させ、運用負荷を軽減しながらスピーディなサービス提供が可能になります。
各機能のサービス対応
機能 |
対応サービス |
|---|---|
コードリポジトリ |
Azure Repos |
CI/CD |
Azure Pipelines |
システム構成要素
さくらのクラウド
AppRun(コンテナ実行環境)
コンテナレジストリ
Addon
Azure DevOps(Azure Repos、Azure Pipelines)
構築手順
さくらのクラウドの準備
Terraform Backend
tfstateを保存するためのさくらのオブジェクトストレージを作成します。
このサンプルではオブジェクトストレージは以下の設定で作成します。
設定項目 |
値 |
|---|---|
バケット名 |
|
フォルダ名 |
|
パーミッション |
|
パーミッションで発行したアクセスキー情報は、後ほどAzure Pipelinesの環境変数として使用します。
Container Registry
サンプルファイル内に、Container Registryを作成するTerraformのサンプルコードを用意しています。
Azure Pipelinesの準備
Azure Pipelinesからコンテナイメージをビルド・プッシュ・デプロイするよう設定します。
Gitリポジトリの準備
Gitリポジトリ(
usecase-b2)を作成作成したGitリポジトリ(
usecase-b2)に、以下のファイル群をコミット
Pipelineの作成
Azure Pipelinesを使用して、コンテナイメージのビルド・Container Registryへのプッシュ・AppRun へのデプロイを行うPipeline(azure-pipelines.yml)を作成します。
Pipelineに移動し、「New pipeline」を選択
「Azure Repos Git (YAML)」を選択
先ほど作成したGitリポジトリ(
usecase-b2)を選択
「Existing Azure Pipelines YAML file」を選択
選択したGitリポジトリに作成済みの
azure-pipelines.ymlを指定して「Continue」を選択。ブランチはmainを選択する
Pipeline YAML(
azure-pipelines.yml)のプレビューを確認する
Variable設定
続いて以下の変数を設定します。これらの変数は、パイプライン実行時にさくらのクラウドの各サービスにアクセスするために必要です。
Pipeline YAMLのプレビュー画面で「Variables」を選択
「New Variable」を選択
以下の変数を設定する。機密情報は「Keep this value secret」にチェック
変数名
説明
機密情報
SAKURA_REGISTRY_SERVERContainer RegistryのFQDN
No
SAKURA_REGISTRY_USERNAMEContainer Registryのユーザー名
No
SAKURA_REGISTRY_PASSWORDContainer Registryのパスワード
Yes
AWS_ACCESS_KEY_IDTerraform Backend用のS3アクセスキー
Yes
AWS_SECRET_ACCESS_KEYTerraform Backend用のS3シークレットキー
Yes
SAKURACLOUD_ACCESS_TOKENさくらのクラウドAPIトークン
Yes
SAKURACLOUD_ACCESS_TOKEN_SECRETさくらのクラウドAPIシークレット
Yes
すべての変数を設定したら、「Save」を選択
Pipelineの保存
最後に、Pipeline YAMLのプレビュー画面で「Save」を選択
承認フローの設定
承認者の設定
デプロイ時に承認者を設けるためにAzure DevOpsを設定します。
Azure Pipeline の Environments に移動し、「New environments」から新しいEnvironmentを作成
Environment名を「usecase-b2」と入力し、「None」を選択して作成
作成したEnvironment(
usecase-b2)に移動し、「Approvals and checks」から「Approvals」を選択して承認者を設定
承認者を選択して、「Create」を選択
設定した承認者を確認
承認フローの使用権限
続いて、作成した承認フローを利用するPipelineに対して使用権限を付与します。
承認者の確認画面で「Security」を選択
「+」を選択して、作成したPipeline(
usecase-b2)に対する使用権限を付与
設定した使用権限を確認
動作確認
設定が完了したPipelineは手動で実行して動作確認します。
Azure DevOpsの「Pipelines」セクションに移動し、作成したPipeline(
usecase-b2)を選択「Run Pipeline」を選択して、手動でPipelineを実行
実行が開始されると、各ステージの進行状況を表示
パイプラインの動作概要
このパイプラインは3つのステージで構成されています:
Test ステージ:全てのブランチで実行
Node.jsアプリケーションのテスト実行
Build ステージ:mainブランチのみで実行
Dockerイメージのビルド
Container Registryへのプッシュ
Deploy ステージ:Buildステージ成功後に実行(承認が必要)
Terraformを使用したAppRun βへのデプロイ