よく見るとドキュメントの例に書いてあるのですがハマったので備忘録です。
誤
jobs:
build:
deploy_to_staging_with_approval: # 手動でデプロイするジョブ
workflows:
build_accept_deploy:
jobs:
- build:
# 略
- deploy_to_staging_with_approval:
type: approval
requires:
- build
filters:
branches:
only:
- /特定の命名規則にマッチする正規表現/
正
jobs:
build:
deploy_to_staging_with_approval:
workflows:
build_accept_deploy:
jobs:
- build:
# 略
- approve_deploy_to_staging: # Manual Approval 用のジョブをはさむ!
type: approval
requires:
- build
filters:
branches:
only:
- /特定の命名規則にマッチする正規表現/
- deploy_to_staging_with_approval: # こっちが実際にデプロイするジョブ
requires:
- approve_deploy_to_staging
Manual Approva は UI 上は成功したようにみえるんですが、ログみれなくてどこまでうまくいっててどこから失敗しているのかわからない(Approval だけの機能なので当たり前...)ので調べるのがめっちゃ大変でした。
というわけで Manual Approval のジョブとデプロイのジョブはわけましょうというお話でした。
以上です。