達成感溢れるCodePipeline承認(物理)
どうしても手動がないと落ち着かない人たちのために、CI/CDへSORACOM LTE-M Buttonから承認をできるようにしました。
ぜひ「承認実行!」と叫んで押していただきたい。
デモ
#あのボタン でCodePipelineの承認と却下 pic.twitter.com/I72SNe5G17
— T.A.C. (@TAC_yacht) 2019年6月19日
構成
#あのボタン でCodePipelineの承認と却下 pic.twitter.com/I72SNe5G17
— T.A.C. (@TAC_yacht) 2019年6月19日今回は練習もかねてCodeStarでCodeシリーズを初期化しています。
※Manual approvalは文中で追加します。
Lambdaの作成
IAMロール
通常のIAMロールのほかPipelineを操作するので以下を追加してください
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "codepipeline:GetPipelineState",
"Resource": "arn:aws:codepipeline:【リージョン】:【アカウント】:【パイプライン名】"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "codepipeline:PutApprovalResult",
"Resource": "arn:aws:codepipeline:【リージョン】:【アカウント】:【パイプライン名】/【ステージ名】/【アクション名】"
}
]
}
※パイプライン/ステージ/アクションは名前です。IDの類いではありませんので注意
Lambdaのコード
こちらのgistからコピペしてください。
ダブルクリックに承認、それ以外に否認を割り当てています。
Pipelineへ承認の追加
- 「ステージを追加する」を押下
- IAMで設定した名前に合うステージ名を付ける
- 「アクショングループを追加する」を押下
- IAMで設定した名前に合うアクション名を付ける
- アクションプロバイダー「Manual approval」を選択
- 「完了」を押下
- 「保存する」を押下
※本説明はCodePipelineがCodeStar等であらかじめ承認以外ができている前提です。
ボタンの設定
プレイスメントの属性として以下を定義してください
属性の名前 | 値 |
---|---|
actionName | 【パイプライン名】 |
pipelineName | 【ステージ名】 |
stageName | 【アクション名】 |
参考文献
https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/approvals-approve-or-reject.html#approvals-approve-or-reject-cli
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline.html
https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/iam-access-control-identity-based.html
Author And Source
この問題について(達成感溢れるCodePipeline承認(物理)), 我々は、より多くの情報をここで見つけました https://qiita.com/TAC_yacht/items/023f02b4075f2b818fca著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .