Tag: groovy

在Docker中运行的Jenkins文件不可见

我创build了一个非常基本的Dockerfile,它包装了官方的Jenkins Docker镜像。 我正在运行一个我的形象的实例,并遇到了以下问题: 我开始和我的形象的实例,并创build一个文件在我的实例在/ tmp目录(任何目录将工作)称为tmp.txt。 我去我的运行Jenkins实例的“脚本控制台”,并在控制台中,我input以下代码: f = new File('/tmp/') println f.list() 我希望看到包括我新创build的/tmp/tmp.txt文件列表,但该文件不在列表中。 这是阻碍我的问题的象征,我想从Jenkinsfile的groovy脚本中调用evaluate(),但是该文件不是脚本,对Jenkins不可见。 我的直觉是这与Docker文件系统层有关。 由于Jenkins安装在基本映像中的较低docker文件系统层上,因此无法访问在其上面运行的实例层中创build的文件。 行为似乎很奇怪,但有些可以理解。 有没有人遇到过这个问题? 如果是这样,你怎么能解决它? FROM jenkins ENV JAVA_OPTS="-Xmx8192m" USER root RUN mkdir /var/log/jenkins RUN chown -R jenkins:jenkins /var/log/jenkins RUN mkdir /var/cache/jenkins RUN chown -R jenkins:jenkins /var/cache/jenkins RUN useradd -ms /bin/bash jenkadm USER jenkadm WORKDIR /home/jenkadm COPY id_rsa /home/jenkadm/.ssh/ COPY id_rsa.pub […]

Jenkins在Docker容器中更新init.groovy.d文件

我在Groovy.init.d中有一系列的Groovy脚本,它们在一个Docker容器中,JENKINS_HOME被挂载到主机文件系统。 我使用标准的jenkins-support文件来复制插件等。 https://raw.githubusercontent.com/jenkinsci/docker/master/jenkins-support 当我向groovy.init.d添加新文件时,脚本添加了它们没有问题,但是如果我更新脚本,那么新的文件不会覆盖现有的文件。 我想将groovy文件添加到Docker镜像中以覆盖文件系统上的内容。 这可能吗?

Sonatype Nexus 3 – 脚本Docker图像清理?

我期待创build一个Groovy脚本来作为一个Nexus 3任务操作,这将清除我的docker代理每周回购。 我不确定的API或如何访问com.sonatype.nexus.plugins库/源/文档,以了解如何完成这一点。 看来我需要使用com.sonatype.nexus.plugins:nexus-repository-docker:3.0.2-02包,但是它不能从Maven Central获得。 任何build议,将不胜感激!!!

Jenkinspipe道:docker.withServer(…)不会在远程服务器上执行docker命令

我正在使用Dockerpipe道插件版本1.10。 我有我的jenkins安装在一个容器。 我有一个运行Docker守护进程的远程服务器。 守护进程可以通过TCP(testing)从Jenkins机器访问。 我禁用了Docker守护进程的TLS安全性。 我无法使docker.withServer(…)一步工作。 作为一个基本的testing,我简单地把下面的内容放在Jenkins文件中(如果我是正确的,这是一个有效的pipe道内容): docker.withServer('tcp://my.docker.host:2345') { def myImage = docker.build('myImage') } 当pipe道执行时,我得到这个错误: script.sh:line 2:docker:命令找不到像docker命令仍然试图本地执行(没有本地安装docker命令),而不是在我的远程Docker守护进程。 我错过了什么? 当试图在远程服务器上执行Docker命令时,是否需要在本地安装docker命令..?