jenkins - Jenkins作业自动化优化
问题描述
我们有一些场景可以为同一组项目构建自动化,这些项目相互依赖。我们正在 Jenkins 中创建自动化,总共有 12 个工作。有没有办法只创建 4 个工作而不是 12 个?它可以自动更改 svn 路径和一些全局属性,例如提取 jar 和 jar 版本的路径。路径:这是一个全局变量,一旦刺拳完成,它就会将罐子放在这个地方。版本:这是指示 Jenkins 创建
此版本的 jar 的全局变量。
SVN 位置 1。
项目 A 项目 B 项目 C 项目 D
路径 1(全局变量)版本 1(全局变量)
SVN 位置 2。
项目 A 项目 B 项目 C 项目 D 路径 2(全局变量) 版本 2(全局变量)
SVN 位置 3。
项目 A 项目 B 项目 C 项目 D
路径 3(全局变量)版本 3(全局变量)
解决方案
您的答案的格式不是很好,所以有点难以理解..您可能想要解决这个问题。
但是我认为您基本上是在问是否可以创建一个通用的詹金斯工作,而不是使用硬编码变量的多个工作。
我不确定您想如何触发作业,但您可以使用构建参数来设置变量,例如:
- 参数:
VERSION
- 作业内的网址:
https://myurl.com/${VERSION}.jar
如果您需要按计划运行,有一个插件可以在 cron 计划上运行相同的作业,但参数不同。
或者,您可以使用调用通用作业的硬编码值创建多个作业。这并没有真正减少您拥有的工作量,但我想让您稍微拆分一下逻辑 - 并停止您需要安装上面提到的插件(允许 cron 带参数)。这看起来像:
- 作业 A:在具有硬编码值(例如 VERSION=1)的 cron(或使用“立即生成”按钮)上运行,并调用传入该参数的通用作业。
- 作业 B:在具有硬编码值(例如 VERSION=2)的 cron(或使用“立即构建”按钮)上运行,并调用传入该参数的通用作业。
- Generic Job:像以前一样,接受 VERSION 的参数,并且在 job 中有一个 URL,例如:
https://myurl.com/${VERSION}.jar
。
推荐阅读
- python - 为什么发送的邮件没有主题?
- java - 无法使用下载的java文件
- mysql - Teradata 和 MySQL 在 OVER() 和 Partition By () 子句中的行为不同
- r - R ggmap 以经度 180 度为中心
- python - 如何重命名文件并保留原始文件
- javascript - 使用 Reactjs 选择 Ctrl/Shift+Click
- json - 'Newtonsoft.Json.JsonSerializationException' 发生在 Newtonsoft.Json.dll 中,但未在用户代码中处理
- python - Python/R 中的 SQL“分区依据”类似功能
- reactjs - Amazon S3:访问控制允许来源
- c - 这段代码中的“%d! = %ld'n”是什么意思?