使用Groovy在Jenkins中配置Docker

svdrlsy4  于 2024-01-06  发布在  Jenkins
关注(0)|答案(1)|浏览(240)

我想写一个小的groovy-script来在我的jenkins服务器上配置docker,这样我就可以将groovy-script包含到ansible-playbook中。
我在jenkins中找到了一些如何用groovy配置maven(使用auto-installer-option)或sonarqube的例子,但我没有弄清楚如何在docker中这样做
基于我所看到的东西,我写了这段代码:

  1. import jenkins.model.*
  2. import hudson.plugins.*
  3. import hudson.plugins.docker.*
  4. import hudson.plugins.docker.model.*
  5. def inst = Jenkins.getInstance()
  6. def desc = inst.getDescriptor("hudson.plugins.docker.commons.tools.DockerTool")

字符串
直到这一点的代码运行无异常。但现在我面临的问题,我不知道如何设置字段,如路径和主目录。我尝试它与:

  1. def dinst = new DockerToolInstaller()


  1. def sinst = new DockerInstaller()


但这只会给我一个无法解决的类错误。
我不想开始使用配置作为一个单一的工具的代码插件,这就是为什么我希望有人在这里可以给给予一个提示,如何配置Docker在Jenkins与groovy

vsaztqbk

vsaztqbk1#

不确定插件的路径是否正确,当你发布它的时候,但我认为我的Groovy脚本做了你正在寻找的事情:

  1. import jenkins.model.*
  2. import hudson.model.*
  3. import hudson.tools.*
  4. import org.jenkinsci.plugins.docker.commons.tools.*
  5. def inst = Jenkins.getInstance()
  6. def desc = inst.getDescriptor("org.jenkinsci.plugins.docker.commons.tools.DockerTool")
  7. def versions = [
  8. "latest": "jenkinsDocker"
  9. ]
  10. def installations = [];
  11. for (v in versions) {
  12. def installer = new DockerToolInstaller("",v.key)
  13. def installerProps = new InstallSourceProperty([installer])
  14. def installation = new DockerTool(v.value, "", [installerProps])
  15. installations.push(installation)
  16. }
  17. desc.setInstallations(installations.toArray(new DockerTool[0]))
  18. desc.save()

字符串

展开查看全部

相关问题