5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Azure DevOpsで承認後本番リリースするには

Posted at

前提

私が勤務している会社ではお客様社内で利用するWebアプリを受注開発を行っています。
このときのAzure契約はお客様が行い、アカウントを作成してもらい開発者が利用します。
DevOpsを使ってテストおよびリリースを自動化する第1段のプロジェクトで、すべてが手作ぐり状態。

目的

Azure DevOpsにてMasterブランチにPushを検知し、ビルド&テストそして、検証サーバにデプロイを行う。
検証サーバで検証できた後に、お客様のリリース担当者が意思入れのもと本番サーバにデプロイを行う。

プロジェクト作成

今回は.NetCoreをWeb Apps for Containerで運用します。
まずはAzure DevOpsプロジェクトの作成ですね。
追加をクリック
image.png
.Netを選択(お好きなアプリケーションを選んでください)
image.png
ASPNET Coreを選択
image.png
Web App for Containerを選択
image.png
その後、プロジェクト名やらはお好みを入れてください。
これで初期のプロジェクトが出来上がりますので、早速Azure ReposからソースをCloneします。

パイプラインの変更

プロジェクト作成当初のパイプライン(Release)はこんな感じになっています。
Stagesにdevが一つあります。今回はdevの他に本番リリースを追加します。
image.png

Web Apps for Containerの作成

まずは本番リリース用のWeb Apps for Containerを新たに作成します(ここではApprovalTestReleaseとする)
image.png

Releaseパイプラインに本番リリースを追加

ReleaseパイプラインのEditを選択
image.png
devStageの後に本番リリースStageを追加します。
やることはdevStageと同じでデプロイ先を変更するだけなのでdevStageをCloneしましょう。
image.png
Cloneすると"Copy of dev"が追加されます。
ここで、Copy of Devを編集していきましょう。

デプロイ先を変更

ステージ名を"本番リリース"に変更後
Deploy Azure App Serviceにある"App Service Name"を先程作ったApprovalTestReleaseに変更します。

承認を追加

パイプライン(Release)のPre-deployment approvalsをEnabledにし
Approvaersに承認する人を入力します。
image.png

確認

Cloneしたソースを変更しMasterブランチにPushします。
Buildパイプラインが走り、続いていReleaseパイプラインが走ります。

先程作成した本番リリースのパイプラインが追加されています。
image.png
あと、本番リリースを選択し"Approve"で本番サーバにリリースが行われます。
検証し、不具合がある場合は再度MasterブランチのPushを行いましょう。

このApproveボタンがあることにより不用意にMasterブランチをPushしても本番サーバに適用されませんし、リリース担当者が
検証を行うので(今回はお客さん)、安心して開発を進められますね。

なかなかDevOpsの日本語の資料が少なく、承認を入れるだけで苦労しましたが、分かってしまえば簡単ですね。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?