如何在Jenkins中使用git中的标签迭代管道?

时间:2018-01-25 04:25:40

标签: github jenkins

更新

我想在Git上构建和运行许多版本的源代码,它有很多标签。标签的名称有规则。如果版本的标签适合特定的策略,我想运行我的源代码的每个版本。例如,我只会运行标记为'runnable-'的源 一旦我带上满足上述标签列表,我希望Jenkins在标签列表中迭代一个标签并触发每个标签以运行另一个管道,该管道将源代码克隆到其工作目录中,并构建并将其二进制部署到远程服务器并发送信息用于让远程服务器是否更新。

1)如何从git存储库获取每个标签?

2)如何从上面的列表中过滤不匹配的标签?

我可以通过以下命令获得1)和2)的答案

git tag –list ‘runnable-*

3)如何迭代这些标签的源版本?我最初的想法是,我将声明一个全局参数来指出标记名称并为每个引用另一个管道。但是,一旦我这样做,是否有可能在所有过程完成后检查每个管道的结果?

1 个答案:

答案 0 :(得分:0)

正如我在这里提到的,git标签-l可以接受模式

git tag -l <pattern>

然后,对于每个代码,您可以git checkout atag以使您的工作树反映该代码的内容。
每次结帐都会产生 detached HEAD ,但这并不重要,因为您没有开发(即进行新的提交)。