Hudson/Jenkins:在多个作业之间共享参数
我有大约20个作业使用通用参数(用户、密码),有时密码过期。。。所以我必须在所有的工作中改变它,这真的很耗时(而且容易出错,我可能会忘记一个) 我想:Hudson/Jenkins:在多个作业之间共享参数,jenkins,hudson,parameter-passing,Jenkins,Hudson,Parameter Passing,我有大约20个作业使用通用参数(用户、密码),有时密码过期。。。所以我必须在所有的工作中改变它,这真的很耗时(而且容易出错,我可能会忘记一个) 我想: 使用一种神奇的属性文件(如果存在的话),直接在作业参数中添加键、值等行 直接在build.xml中添加相同类型的键、值对,但在哪里?而且真的很难看。。。也许在build.XML中嵌入了专用的XML 调用将(如何?)将所需值推送到父作业的从属作业 正如你所看到的,我只是从哈德逊/詹金斯开始(我使用的是詹金斯1.424.2.2),谢谢你的帮助 编
- 使用一种神奇的属性文件(如果存在的话),直接在作业参数中添加键、值等行
- 直接在
中添加相同类型的键、值对,但在哪里?而且真的很难看。。。也许在build.xml
中嵌入了专用的XMLbuild.XML
- 调用将(如何?)将所需值推送到父作业的从属作业
编辑:我不是Jenkins实例的管理员,因此无法访问全局属性…我可以想出两种方法:
- 使用全局属性,可在管理Jenkins下找到。在这里,您可以定义所有作业都可以使用的环境变量
- 编写一个小脚本,下载、修改和发布作业配置:
http://[jenkinshost]/job/[jobname]/config.xml
[http://[jenkinshost]/job/[jobname]/config.xml]
。你也可以发布
将更新的config.xml添加到同一URL,以编程方式更新
作业的配置
转到Jenkins主页并导航:
…
我最终取得了成功:
- 在网页中保留加密的凭据
- 借助shell脚本(wget)在Hudson中检索它们,解密它们,并在工作区中创建一个
文件,其中包含行build.properties
(在我的示例中是name=value
)ssh.password=…
这是可行的,因为Ant构建步骤检测这个文件并将其中的变量传递到它们的上下文中。多亏了这一点,我可以集中我的凭证。很好的一点:因为我刚刚编辑过,我不是管理员,所以我不能使用全局属性(管理员肯定不会让我使用它们)。:(匆忙错过了编辑。不管怎样,Anders的第二种方法现在似乎是可行的;否则我们可以叫@Koshuke:)哦,你没有错过它,我添加它是因为您谈到了全局属性:-)如上所述,我不是管理员,所以无法访问全局属性;但第二个解决方案看起来很有希望,让我们看看我是否能做到我想玩的东西。。。