使用Groovy在Jenkins中配置Docker

svdrlsy4  于 4个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(83)

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

import jenkins.model.*
import hudson.plugins.*
import hudson.plugins.docker.*
import hudson.plugins.docker.model.*

def inst = Jenkins.getInstance()

def desc = inst.getDescriptor("hudson.plugins.docker.commons.tools.DockerTool")

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

def dinst = new DockerToolInstaller()


def sinst = new DockerInstaller()


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

vsaztqbk

vsaztqbk1#

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

import jenkins.model.*
import hudson.model.*
import hudson.tools.*
import org.jenkinsci.plugins.docker.commons.tools.*

def inst = Jenkins.getInstance()

def desc = inst.getDescriptor("org.jenkinsci.plugins.docker.commons.tools.DockerTool")

def versions = [
  "latest": "jenkinsDocker"
]

def installations = [];

for (v in versions) {
  def installer = new DockerToolInstaller("",v.key)
  def installerProps = new InstallSourceProperty([installer])

  def installation = new DockerTool(v.value, "", [installerProps])
  installations.push(installation)
}

desc.setInstallations(installations.toArray(new DockerTool[0]))

desc.save()

字符串

相关问题