12

特定の git タグを持つチェックで circleci の展開を制限する方法はありますか?

現在、私はこれを使用しています

...
deployment:
  dockerhub:
    branch: master
    commands:
      - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
      - docker push abcdef

代わりに、次のbranch: masterようなものを書きたいtag: /release_.*/

背景: git タグに応じて docker タグを設定したいと考えています。たとえば、何かが master にコミットされるたびに、latestタグ付きの新しい docker イメージが作成されてプッシュされます。特別な git タグ (例: release_1.0_2015-06-13) が設定されるたびに、タグ付きの新しい docker イメージ1.0が作成され、プッシュされます。

別の方法は、異なるタグに従って異なるブランチのみを使用することです。しかし、タグを使用して特定のリリースをマークしたいと考えています。

4

3 に答える 3

16

キムが答えたので、これが追加されたようです。

通常、タグをプッシュしてもビルドは実行されません。tag作成したタグの名前と一致するプロパティを持つデプロイ構成がある場合、一致するビルドとデプロイ セクションが実行されます。

以下の例では、という名前のタグをプッシュするとrelease-v1.05、ビルドとデプロイがトリガーされます。タグをプッシュしてqa-9502もビルドはトリガーされません。

deployment:
  release:
    tag: /release-.*/
    owner: circleci
    commands:
      - ./deploy_master.sh
于 2015-08-28T19:21:02.683 に答える
3

ドキュメントに従ったが、これが機能しなかった人々のために、これをここに置いています。branch only一般設定に構成がある場合、CircleCI はタグをまったく無視するようです。タグ付けされたコミットは、そのように「実行されていません」と表示されます。

特定のブランチのみでビルドし、特定のタグでデプロイするには、否定先読み正規表現とともにbranchandオプションを使用します。ignore

# circle.yml
general:
  branches:
    ignore:
      - /^(?!master).*$/
deployment:
  beta:
    tag: /v[0-9]+(\.[0-9]+)*(-.*)*/
    owner: mediafreakch
    commands:
      - deploy.sh

これにより、タグ付けされたコミットの場合、すべてのコミットがビルドされmasterてデプロイされます。コミットにタグを付けるには、 を使用しますnpm version

于 2016-07-25T06:41:49.757 に答える
3

CircleCIのKimです。

やりたいことをアーカイブするには、新しいタグが Github にプッシュされたときにビルドをトリガーできる必要があると思います。ただし、新しいコミットのみがビルドをトリガーするため、現時点ではこれは実行できないようです。ごめん!

更新: この機能が実装されました: https://circleci.com/docs/configuration/#tags

于 2015-06-15T08:33:39.020 に答える