ITと創作でねこを飼いたい

プログラミングやITで勉強したこと、疑問をまとめます。

AWSのCodePipelineでデプロイ対象のGitブランチを変更する。

AWSのCodePipelineでデプロイ対象のGitのブランチを変更してみます。(2019年4月末版)

ちょっと背景的な話

私がこの業界に入ったころには始まっていたサーバーレスの時代。
構築や管理が簡単になった分、インフラ担当者は一通りの構築が終われば「バイニャラ」しても不思議じゃない風潮になっているように思います。
(実際4月からインフラ担当がいなくなった!!)

今回は「バイニャラ」したインフラ担当者が用意してくださったデプロイ環境を、ちょこっとだけいじる必要性に迫られたので、ここにも備忘録残しときます。

前提

デプロイ環境はAWS CodePipelineであり、
すでに~pushしたらそのままデプロイ~という環境が整っている。

AWS CodePipelineとは

公式の説明によると、

ソフトウェアをリリースするために必要なステップのモデル化、視覚化、および自動化に使用できる継続的な配信サービス

です。

やりたいこと

THE 本仕様と暫定仕様の二重管理です。

master : デプロイ対象のブランチ : 本仕様
temp : 現状デプロイ対象じゃないブランチ : 暫定仕様

つまり、上のようなブランチだとして、
tempをmasterにマージせずにデプロイしたい
デプロイ対象のブランチをmasterからtempに切り替えたい
ということ。

やり方

私は、これを調べるためにAWS CodePipelineのチュートリアルやりましたが、実際はそこまでしなくても気づけたかなぁくらいの内容です。

(1)AWS CodePipelineのコンソール画面を開いて対象のパイプラインを選択。

(コンソール画面はゆくゆく変更されるかもしれませんが、気持ち載せときます)

f:id:ashanoguzyutu:20190427204135p:plain
どうでもいいですが、MyFirstPipelineはチュートリアルのPipelineのデフォルトネームです

(2)編集するボタンを選択。

f:id:ashanoguzyutu:20190427204601p:plain

(3)Sourceのステージを編集するを選択。

f:id:ashanoguzyutu:20190427205938p:plain

(4)画面が変化するので、編集を示すアイコンを選択。

f:id:ashanoguzyutu:20190427210247p:plain

(5)リポジトリ名の選択欄を変更したいブランチ名に変更します。

f:id:ashanoguzyutu:20190427210920p:plain

よくよくみるとリポジトリ名となっているのはややこしい感じがしますね・・・
アクションから見たらブランチの違いはリポジトリの違い、ということなのかもしれません。

保存ボタンを押しまくったら、ブランチの変更は完了です。

あとは変更したブランチの方でpushを行うか、変更をリリースボタンを選択すれば、違うブランチのソースをデプロイすることができます。

f:id:ashanoguzyutu:20190427211900p:plain

まとめ

この記事に書いてあるものは場当たり的な対応なので、ご注意ください。
(そもそも、私が言うまでもないですが二重管理はミスの元でしかないので、極力避けた方がいいでしょう)

ここまで書いていて、本格的に二重管理しなければならないならSorceにブランチが異なるアクション増やしたらいけるんじゃね?と思えてきました。
そっちは検証していないので、参考程度の情報として受け取ってください〜〜