パイプラインタイプ v2
AWS CodePipeline のパイプラインタイプ v2 では、
- パイプラインレベルの変数(CodePipeline でパラメータ化されたパイプラインのサポートを開始)
- トリガー設定(CodePipeline で git タグでのトリガーのサポートを開始)
ができるのが、従来の v1 との違いのようです。
なお、CDK ではまだ、v2 には未対応のようです。
CodePipeline でパラメータ化されたパイプラインのサポートを開始
入力パラメータをパイプライン実行に動的に渡すことができます。
やってみる
今回の機能を使うためには先述の通り、パイプラインタイプで、v2 を選択する必要があります。

次の通り、パイプラインレベルで変数を追加し、これを後続のデプロイに渡すようにします。

ソースステージでは、AWS CodeCommit を指定しておきます。

次の通りデプロイステージには Amazon S3 を指定しておき S3 オプジェクトキーに変数 #{variables.Variable1} のように記述します。

※ 変数の指定の詳細については下記ドキュメントの パイプラインレベルの変数名前空間 を参照。
デプロイ対象のS3バケットを確認すると変数で指定した、Value1 という名前でオプジェクトが作成されていることが確認できました。

後で気づきましたが、チュートリアルもあるようです。
CodePipeline で git タグでのトリガーのサポートを開始
git タグがプッシュされたときにパイプラインを開始する。
やってみる
こちらはチュートリアルを参考に実施してみたいと思います。
今回の機能を使うためには先述の通り、パイプラインタイプで、v2 を選択する必要があります。

ソースステージで自身の Github に接続します。
ここが、今回のアップデートですが、パイプライントリガーで、「Git タグ」 を指定します。
「master」ブランチで、「release*」のタグが含まれていたときにパイプラインが開始するようにトリガーします。

次の通り、ビルドステージで 適当に CodeBuild を準備しておきます。

ではテストです。次の通り、タグを付与して push し動作を確認してみます。
git commit -m "MyGitHubTagsPipeline"
[master ba5a930] MyGitHubTagsPipeline
git tag release-1 ba5a930
git push release-1
