Azure Pipelineを使った場合の利点の1つに、リリースするARMテンプレートにはないリソースを削除するところまで自動化できる、という点があると思う。
カスタムデプロイを使用した場合、リソースの差分は手動で削除しないといけないし、完全デプロイをコマンドラインから実行すると、リソースグループ単位で再構成される(確か)
なので、きれいにリリースができるのはとてもいい。
で、じゃあリリースに失敗しても綺麗に戻せるね、って考えたときに、どこから戻す?
本番ADFはライブモードで運用するから、戻すといったらARMテンプレートになるけど、カスタムデプロイは前述のように差分が残る
なので、開発ADF(もしくは検証用ADF)から戻すことになる
開発ADFのブランチ構成は、基本的に以下のようになる
・adf_publish:ライブモードの環境
・main:プルリクエストで反映、adf_publishへ発行用
・work:作業用
adf_publishの内容をリリースする、とした場合、流れは以下
work→(プルリクエスト)→main→(発行)→adf_publish→(Azure Pipeline)→本番ADF
戻そう、とした場合、本番ADFの状態をどこかに保持しておかないといけない
そうした場合、adf_publshに保存用のブランチを作成しておくほうが無難なんだろうか
work→(プルリクエスト)→main→(発行)→adf_publish→(Azure Pipeline)→本番ADF
∟yyyymmdd_release
上のような構成にしておいて、本番ADFへの反映で失敗したら、yyyymmdd_releaseブランチから戻す
でも、Azure Pipelineのリリースは、Artifactsが必要で、Artifactsは手動実行できない
退避しているブランチに変更入れるわけにはいかない
そうなると、ブランチはmainに作成したほうがいいんだろうか
work→(プルリクエスト)→main→(発行)→adf_publish→(Azure Pipeline)→本番ADF
∟yyyymmdd_release
mainはプルリクエストで変更分をいろいろマージすると思うけど、リリースタイミングでブランチを切っておいて、失敗したらリリースタイミングのブランチで戻して、adf_publishに発行して、本番ADFに反映
いまいちな気がする
work→(プルリクエスト)→main→(発行)→adf_publish→(Azure Pipeline)→本番ADF
∟yyyymmdd_release
↑の構成にして、リリース物件に更新用のreadmeを格納して、そこを更新して戻す、のほうがよさそう
readmeを更新した際のコミットコメントは「リリースに失敗したため、戻し作業を実施」とか?
ちょっとカッコ悪いかな
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント