CircleCIでジョブを途中で終了する
2982 ワード
任意のタイミングでジョブを終了する方法は、run:
で circleci step halt
を実行することです。
なぜこんなものが必要かというと、masterにタグがpushされたときだけ処理したいような場合があります。
しかしこんなふうにfiltersを設定しても、masterにプッシュされただけで、タグが無くてもreleaseジョブは実行されてしまいます。
config.yml
workflows:
version: 2
release:
jobs:
- release:
filters:
branches:
only:
- master
tags:
only:
- /^.*$/
そこでreleaseジョブの中で、タグが設定されていなかったら後続の処理をしないでスキップしたいという発想になりました。
以下のようなジョブ定義で意図した動作になりました。
config.yml
jobs:
release:
<<: *job_base
steps:
- run:
name: skip_if_no_tag
command: |
if [ "${CIRCLE_TAG}" == "" ]; then
echo "no tag"
circleci step halt
fi
- checkout
- run: bundler install
- <<: *restore_gradle_cache
- <<: *resolve_gradle
- <<: *save_gradle_cache
- run: fastlane deploy
Author And Source
この問題について(CircleCIでジョブを途中で終了する), 我々は、より多くの情報をここで見つけました https://qiita.com/sekitaka_1214/items/5dd0ea1e1eaa89f83941著者帰属:元の著者の情報は、元の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 .