我试图更新Jenkins'通过Groovy API提供root URL,因此我可以编写Jenkins master的部署脚本而无需手动输入(除了:为什么一个工具像build / devops / automation社区一样受欢迎,因为Jenkins对自动化有抵抗力?)
基于this documentation,我相信我应该能够使用脚本控制台中的以下脚本更新URL。
import jenkins.model.JenkinsLocationConfiguration
jlc = new jenkins.model.JenkinsLocationConfiguration()
jlc.setUrl("http://jenkins.my-org.com:8080/")
println(jlc.getUrl())
简而言之,这会实例化一个JenkinsLocationConfiguration
对象;使用所需的值setUrl
调用setter http://jenkins.my-org.com:8080/
;并打印出新的URL以确认它已更改。
println
语句打印出我期望的内容,但是在此之后,通过Web界面可以看到的值是" Manage Jenkins" - > "配置系统" - > "詹金斯网址" 未按照我的预期更新。
我担心Jenkins没有正确更新该值,这可能会在与外部API通信时导致问题。
这是修复Jenkins根URL的有效方法吗?如果不是,那是什么?否则,为什么变更没有反映在配置页面中?
答案 0 :(得分:6)
您正在创建一个新的JenkinsLocationConfiguration对象,并更新新对象,而不是正在使用的现有对象
使用
ASP.NET Class Library
从全局jenkins配置中获取一个,更新它并保存配置描述符。