如何使用 Jenkins 自动 svn tag 构建人工制品?

Posted

技术标签:

【中文标题】如何使用 Jenkins 自动 svn tag 构建人工制品?【英文标题】:How can I automatically svn tag build artefacts with Jenkins? 【发布时间】:2018-07-26 12:53:06 【问题描述】:

我正在使用 Jenkins 自动执行以下手动过程:

    从 svn 检查树干 构建代码 运行测试 如果测试通过,则标记代码并构建工件

第 1-3 步正在运行,但我需要在第 4 步中进行标记方面的帮助。我排除了一些可能的解决方案:

svn-tag 插件存在安全问题且未开发 自 2015 年起 “标记此构建”按钮是手动步骤,不允许 我来选择标记哪些文件 在从站上使用 svn 命令行工具,因为我不想依赖它们被安装(并且与 Jenkins 的版本相同),我也不想将凭据暴露给构建

工具似乎是available for Git。 svn有没有其他我没想到的方法?

【问题讨论】:

【参考方案1】:

svn 命令行呢?

您可以尝试使用 shell 创建标签:

svn copy http://svn/mywebsite/trunk http://svn/mywebsite/tags/2.2.1 -m "Release 2.2.1 - added new feature"

来源:

http://svnbook.red-bean.com/en/1.6/svn.branchmerge.tags.html

如果可行,您的 步骤 4 可能是一个名为:Execute Shell 的构建步骤:

只需将您的 shell 脚本放在名为 command 的文本区域中即可。您可以为您的 url、标签号等使用变量

最后,您可以创建一个名为 svn 命令行工具 的 jenkins 插件,让生活更轻松。并不像许多人认为的那样复杂。

【讨论】:

我真的更愿意避免使用命令行工具,因为在从机上安装和控制是另一回事。它还需要发送 svn 凭据或将它们本地存储在机器上。由于 Jenkins 有 svn 和凭据插件,因此我可以使用它们。

以上是关于如何使用 Jenkins 自动 svn tag 构建人工制品?的主要内容,如果未能解决你的问题,请参考以下文章

使用 svn+maven+jenkins(hudson)+Publish Over SSH plugins 构建持续集成及自动远程发布体系(转)

Jenkins可持续集成Python自动化脚本(Windows版)

如何用Jenkins实现自动化部署svn更新代码

docker与jenkins的自动化CI/CD流水线实战(svn)

Jendins+svn+maven+tomcat自动化部署环境搭建

如何用Jenkins实现自动化部署svn更新代码