アプリケーションのCI/CD
[更新:2025年12月11日]
コードを一元管理し変更履歴を追跡できる環境に自動ビルド・自動デプロイを組み合わせることで、Webアプリを安定かつ迅速に配信します。品質を保ちながら更新頻度を高めることができ、設定ミスの防止やセキュリティ確保を実現し、開発効率と運用信頼性を大幅に向上できます。
各機能のサービス対応
機能 |
対応サービス |
|---|---|
コードリポジトリ |
Azure Repos |
CI/CD |
Azure Pipelines |
システム構成要素
さくらのクラウド
Nginxサーバ
Addon
Azure DevOps
構築手順
さくらのクラウドの準備
サンプルファイル内に、Nginxサーバを作成するTerraformとAnsibleのサンプルコードを用意しています。
Azure Pipelinesの準備
Azure PipelinesからNginxサーバにデプロイする設定を行います。
Service connectionの作成
Service connectionsは、Azure DevOps プロジェクトと外部サービスとの接続(今回はさくらのクラウドのサーバとSSH接続に利用)を管理するための機能です。これにより、Azure Pipelinesからリモートサーバにアクセスして操作を行うことができます。
Azure DevOps プロジェクトに移動して、下部にある「Project Settings」を選択
Project Settingsのメニューから「Service connections」を選択
「Create service connection」>「SSH」>「Next」を選択
デプロイ先のサーバへのSSH接続情報と「Service Connection Name」に今回は
test-connectionと入力し、「Save」を選択
作成完了
Gitリポジトリの準備
Gitリポジトリを作成
作成したGitリポジトリに、デプロイファイル(
sample)とAzure Pipelinesの設定ファイル(azure-pipeline.yml)をコミット
承認者の設定
デプロイ時に承認者を設けるためにAzure DevOpsで設定を行います。
Azure Pipeline の Environments に移動し、「New environments」から新しいEnvironmentを作成
Environment名を「production」と入力し、「None」を選択して作成
作成したEnvironment「production」に移動し、「Approvals and checks」から、新たに承認者を設定
Add Checkでは「Pre-check approvals」を選択し「Next」を選択
承認者を選択して、「Create」を選択
Pipelineの作成
Azure Pipelinesを使用して、Gitリポジトリの内容をNginxサーバにデプロイするためのPipeline(azure-pipeline.yml)を作成します。今回は作成済みのazure-pipeline.ymlを使用します。カスタマイズする場合は、以下のドキュメントを参考にしてください。
Pipelineに移動し、「New pipeline」を選択
「Azure Repos Git (YAML)」を選択
先ほど作成したGitリポジトリを選択
「Existing Azure Pipelines YAML file」を選択
選択したGitリポジトリに作成済みの
azure-pipeline.ymlを指定して「Continue」を選択。ブランチにはmainを選択
Pipeline YAML(
azure-pipeline.yml)のプレビューを確認して、「Save」を選択
動作検証
develop から main へ、プルリクエスト・マージ時のCI/CDの動作検証は次の手順で操作します。
developブランチを1つ作成
ブランチ作成後、以下のようにサンプルのHTMLファイルの35行目の文言を以下のように修正し、作成したdevelopブランチにコミットする
<h1>さくらのクラウドへようこそ</h1>developにプッシュ時にもAzure Pipelineは実行されるが、以下のようにCI(テスト)のステージのみが実行されることを確認
developブランチをmainブランチにマージするためにプルリクエストを作成
新しいプルリクエストを作成
developブランチからmainに向けてプルリクを作成する。タイトルを入力し、作成を選択
Approveを選択後、Completeを選択
Completeを押すと、マージを行うための画面が出てくるので「Complete merge」を選択
マージ実行後、マージをトリガーとしてAzure Pipelineの実行が確認できる
CI完了後、CDを行う前に、以下のように承認者に対して承認が要求されるので「Approve」する
承認者の承認が完了後、CDが実行されてデプロイが開始される。デプロイが完了すると以下のように各ステージにチェックマークが表記される
デプロイ後、さくらのクラウドのサーバにアクセスすると、以下のように変更内容が適用されたことを確認できる