首页 > 其他 > 详细

drone使用git tag作为镜像tag

时间:2021-09-20 18:41:24      阅读:28      评论:0      收藏:0      [点我收藏+]

官方自动tag

plugin/docker 已支持自动标签,使用方法如下

steps:
- name: docker  
  image: plugins/docker
  settings:
    repo: foo/bar
    auto_tag: true

其中的auto_tag: true就是启用自动tag

如果是git tag触发的构建,则会自动使用git tag作为镜像tag, 并且会自动分割主版本号和副版本号

如git tag是1.0.0  则镜像tag为[11.01.0.0]

如git tag是1.0.0-rc.1 则镜像tag为1.0.0-rc.1

如果是通过push触发且分支是默认分支(如master或main), 则镜像tag为latest

 

配置tag后缀

steps:
- name: docker  
  image: plugins/docker
  settings:
    repo: foo/bar
    auto_tag: true
    auto_tag_suffix: linux-amd64

auto_tag_suffix: linux-amd64 表示镜像tag后缀为linux-amd64

 

自定义tag规则

自动tag如果不能满足则需要自定义tag规则

steps:
- name: docker  
  image: plugins/docker
  settings:
    repo: foo/bar
    tags: ${DRONE_TAG##v}

${DRONE_TAG##v}就表示从DRONE_TAG中移除v, 如git tag是v1.0.0  则镜像tag是1.0.0 移除了v

上一篇文章了解到了如何通过git tag触发构建, 这里就可以搭配使用

steps:
- name: docker  
  image: plugins/docker
  settings:
    repo: foo/bar
    tags: ${DRONE_TAG##FileService-}
trigger:
ref:
- ref/tags/FileService-*

git tag 为FileService-1.0.0  触发构建, 镜像tag为1.0.0

drone目前支持的字符串操作来自于gnu的shell parameter expansion

${parameter^}                首字母大写
${parameter^^}                整个字符串转为大写                  
${parameter,}                首字母小写
${parameter,,}                整个字符串转为小写
${parameter:position}            从position开始截取字符串 从0开始计数  如 abcd:2 结果就是cd 
${parameter:position:length}        从position开始截取length长度
${parameter#substring}                  
${parameter##substring}                 
${parameter%substring}
${parameter%%substring}
${parameter/substring/replacement}
${parameter//substring/replacement}
${parameter/#substring/replacement}
${parameter/%substring/replacement}
${#parameter}
${parameter=default}
${parameter:=default}
${parameter:-default}

其中我们使用的 ${DRONE_TAG##v} 就是其中的 ${parameter##substring}

drone使用git tag作为镜像tag

原文:https://www.cnblogs.com/turingguo/p/15305900.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!