前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins配置代码化--init.groovy

Jenkins配置代码化--init.groovy

原创
作者头像
陈不成i
修改2021-06-01 17:55:47
1K0
修改2021-06-01 17:55:47
举报
文章被收录于专栏:ops技术分享

Jenkins在启动时,会执行$JENKINS_HOME目录下的init.groovy脚本,以及init.groovy.d下的所有Groovy文件。在这些Groovy脚本中,我们可以访问Jenkins实例,并对插件进行配置,从而实现版本化Jenkins的目标。

以下代码示例展示了如何在init.groovy中向Jenkins增加了一个Maven配置

  1. import hudson.model.*;
  2. import jenkins.model.*;
  3. import hudson.tools.*;
  4. import hudson.tasks.Maven.MavenInstaller;
  5. import hudson.tasks.Maven.MavenInstallation;
  6. //取得Jenkins实例
  7. def instance = Jenkins.getInstance()
  8. def mavenVersion = '3.5.2'
  9. //拿到Maven插件在Jenkins中的实例
  10. def mavenTool = instance.getDescriptor("hudson.tasks.Maven")
  11. def mavenInstallations = mavenTool.getInstallations()
  12. def mavenInstaller = new MavenInstaller(mavenVersion)
  13. def installSourceProperty = new installSourceProperty([mavenInstaller])
  14. //配置Maven插件
  15. def name = "jenkins-book-mvn-" + mavenVersion
  16. def maven_list = new MavenInstallation(
  17.   name, //name
  18. "", //Home
  19. [installSourceProperty]
  20. )
  21. mavenInstallations += maven_inst
  22. mavenTool.SetInstallations((MavenInstallation[]) mavenInstallations)
  23. mavenTool.save() //保存配置

效果图:

理论上,Jenkins的所有配置都可以通过此方式进行设置

脚本命令行调试

init.groovy脚本是在Jenkins启动时加载执行的,那是不是私说,如果反复调试init.groovy脚本,就需要反复重启Jenkins?当然不用

Jenkins本身提供了一个特性:脚本命令行。通过它,我们可以直接在界面上修改并执行Groovy脚本,而不是重启Jenkins。 1.单机Manage Jenkins-》Script Console

file
file

2.在Script Console页面中,填入Groovy脚本,然后单机Run执行按钮。

file
file

脚本执行完成后,在命令框的下方输出日志。因为它是直接操作Jenkins实例的,脚本会立即生效,所以在生产环境谨慎用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 脚本命令行调试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档