官方自动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的更多相关文章

  1. 如何在K8s,Docker-Compose注入镜像Tag

    最近在做基于容器的CI/CD, 一个朴素的自动部署的思路是: 从Git Repo打出git tag,作为镜像Tag ssh远程登录到部署机器 向部署环境注入镜像Tag,拉取镜像,重新部署 下面分享我是 ...

  2. git 创建tag , 查看tag , 删除tag

    简介  用git了很久了,也喜欢这个版本控制工具,今天来分享下,怎么用命令创建tag,查看tag,删除tag和把本地tag推到远程git服务器上 C:\Users\\WandaPuHuiProject ...

  3. git 使用详解-- tag打标签

    Git 的标签管理.跟大多数的 VCS 工具一样,git 也有在历史状态的关键点“贴标签”的功能,一般人们用这个功能来标记发布点(例如’v1.0′). 列出git中现有标签 要想列出git中现有的所有 ...

  4. git 如何同步本地tag与远程tag

    问题场景:同事A在本地创建tagA并push同步到了远程->同事B在本地拉取了远程tagA(git fetch)->同事A工作需要将远程标签tagA删除->同事B用git fetch ...

  5. docker tag根据镜像id做标签,用于应用的回滚

    示例 通过ID tag镜像 下面是tag一个id为0e5574283393的本地镜像到“fedora”存储库,tag名称version1.0: docker tag 0e5574283393 fedo ...

  6. git 本地tag和远程tag对应不上 vscode里pull不下代码

    vscode拉取代码是用  git pull --tags origin saas-xxx > git pull --tags origin saas-base From 172.16.0.xx ...

  7. git 远程分支和tag标签的操作

    git远程分支操作:1.创建远程分支git push --set-upstream origin develop:develop2在服务器创建远程分支devlop2,让本地的develop分支和dev ...

  8. c:param 标签后不要写 注释 。否则报错 Encountered illegal body of tag "c:import" tag, given its attributes

    c:param 标签后不要写 注释 .否则报错  Encountered illegal body of tag "c:import" tag, given its attribu ...

  9. Render a controller in Twig - Unexpected “render” tag - expecting closing tag for the “block” tag defined

    Render a controller in Twig - Unexpected “render” tag - expecting closing tag for the “block” tag de ...

随机推荐

  1. SeleniumLibrary 主要关键字 基于python3

    关键字的解释 https://blog.csdn.net/ak739105231/article/details/88926995 click element 都是元素点击事件:不赘述 click l ...

  2. [bzoj4777]Switch Grass

    结论:最短路径一定是单独的一条边且在最小生成树上,可以用反证法证明.那么求出最小生成树,对于每一个点建立一棵权值线段树,再对每一个权值线段树上的叶子节点开一个multiset,维护所有儿子中该种颜色的 ...

  3. nginx反向代理出错:proxy_pass

    问题描述: 一台服务器代理访问另一台服务器,代码如下图所示: 重新加载nginx后不会跳到该域名,而是出现error的页面. 查看error.log日志为以下报错: 2021/03/09 23:07: ...

  4. 直接插入100w数据报错

    ### Cause: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (77,600 ...

  5. (前端)面试300问之(2)CSS元素居中【水平、垂直、2者同时居中】

    一 仅水平居中 1 行内元素 1)给父元素添加 text-align:center 即可 <div class="parent"> <span class=&qu ...

  6. 【BZOJ 4668 冷战】

    题目: [BZOJ 4668 冷战] 思路: 因为考虑强制在线,我们是肯定要维护形状的 我们发现如果\((u,v)\)这条边如果\(u,v\)已经连上,那么对于最终答案这条边是没有贡献的 所以我们发现 ...

  7. 洛谷 P5527 - [Ynoi2012] NOIP2016 人生巅峰(抽屉原理+bitset 优化背包)

    洛谷题面传送门 一道挺有意思的题,想到了某一步就很简单,想不到就很毒瘤( 首先看到这样的设问我们显然可以想到背包,具体来说题目等价于对于每个满足 \(i\in[l,r]\) 的 \(a_i\) 赋上一 ...

  8. Python list的深拷贝和浅拷贝

    深拷贝和浅拷贝 列表存储数据,列表拷贝就是数据备份 浅拷贝 优点:占用内存较少 缺点:修改深层数据,会影响原数据 深拷贝 优点:修改数据,互不影响 缺点:占用内存较大 ""&quo ...

  9. 混合(Pooling)样本测序研究

    目录 1.混合测序基础 2. 点突变检测 3. BSA 4. BSR 5. 混合样本GWAS分析 6. 混合样本驯化研究 7. 小结 1.混合测序基础 测序成本虽然下降了,但对于植物育种应用研究来说还 ...

  10. c#年份筛选

    年份: <script type="text/javascript" src="http://www.shicishu.com/down/WdatePicker.j ...