Drone CIで/を含むブランチ名をタグに使いたい
.tagsファイルに書き込むとtagとして使用してくれます。
/を含むとpush出来ないため、-に置き換えてtagsに書き込む必要があります。
$DRONE_BRANCHにブランチ名が含まれているため、echo -n $DRONE_BRANCH | sed -r 's,/,-,g' >> .tags
としましょう。
また、commit shaもtagにしたい場合は、echo -n ",${DRONE_COMMIT_SHA:0:5}" >> .tags
でしていできます。
${DRONE_COMMIT_SHA:0:5}
とすることでcommit shaの上位5桁だけを利用できます。
以下が簡単なmanifest例です。ブランチ名とsha、latestをtagにしています。
kind: pipeline name: default - name: tag image: docker commands: - echo -n $DRONE_BRANCH | sed -r 's,/,-,g' >> .tags - echo -n ",${DRONE_COMMIT_SHA:0:5},latest" >> .tags volumes: - name: docker path: /root/.docker - name: docker build & push image: plugins/docker settings: repo: custom-docker-registry.hogehoge.mogemoge/hugehuge/poge tags: latest registry: custom-docker-registry.hogehoge.mogemoge username: from_secret: username password: from_secret: password volumes: - name: docker path: /root/.docker volumes: - name: docker temp: {}