drone 使用git tag触发构建


配置ref为tag

.drone.yml中配置trigger为ref

trigger:
  ref:
  - refs/tags/FileService

或者配置when为ref

when:
  ref:
  - refs/tags/FileService

注意: trigger应用于整个pipeline, when应用于step

也就是trigger会触发这条pipeline,而when决定了跑这条pipeline时会不会跳过这个step

ref是数组,可以配置多个

trigger:
  ref:
  - refs/tags/FileService
  - refs/tags/IdentityService

也支持通配符 refs/tags/** 表示所有的tag, refs/tags/v* 表示v开头的tag

还支持include包含 和exclude排除, 下面的代码表示包含IdentityService和File开头的tag, 除了FileService

trigger:
  ref:
    include:
    - refs/tags/IdentityService
    - refs/tags/File*
    exclude:
    - refs/tags/FileService

 

git 添加和推送tag

在完成代码提交和推送到远程后,对刚刚推送的提交添加tag

git tag -f FileService
git push -f origin FileService

两行命令都加-f参数,表示强制覆盖.因为同名tag只能有一个,所以更新需要覆盖之前的.第一行是为最近的提交添加一个名为FileService的tag,第二行是推送到远程仓库. 推送完成才会触发对应的pipeline

 

总结: 这种用tag触发对应pipeline的方式适用于单分支进行多pipeline构建,而多分支直接用branch作为trigger或when的参数更好. 

注意: drone不支持同时使用tag和branch作为触发条件


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM