• 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作为触发条件

  • 相关阅读:
    13 数据库主从
    12 数据备份
    11 锁机制
    12 日志
    10 索引(二)
    09 索引
    update kernel 3.10-3.12
    haproxy para config
    mysql slave to master
    storage disk
  • 原文地址:https://www.cnblogs.com/turingguo/p/15305437.html
Copyright © 2020-2023  润新知