Tag: jenkins

在jenkins中执行docker命令(在docker容器中)

用docker工具撰写我启动一个jenkins容器,我想有可能执行docker命令与(docker安装在服务器上)。 但是,当我试图做一个简单的testing运行hello-world图像我有以下错误: docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?. 我在泊坞窗组上设置了用户,我的泊坞窗组合文件出了什么问题? 在其他post中,我看到如果我添加此行: /var/run/docker.sock:/var/run/docker.sock 我的jenkins的容器可以与docker进行沟通 我的docker撰写文件 jenkins: image: jenkins:2.32.3 ports: – 8088:8080 – 50000:50000 volumes: – /home/my-user-name/docker-jenkins/jenkins_home:/var/jenkins_home – /var/run/docker.sock:/var/run/docker.sock – /usr/bin/docker:/usr/bin/docker – /tmp:/tmp

jenkinsstream水线代码与docker错误

对于我在GitHub上的一个项目,我想将其作为Docker镜像,并将其推送到Docker中心。 该项目是一个Scala代码库。 这里是我的JenkinsFile是如何定义的: #!groovy node { // set this in Jenkins server under Manage Jenkins > Credentials > System > Global Credentials docker.withRegistry('https://hub.docker.com/', 'joesan-docker-hub-credentials') { git credentialsId: '630bd271-01e7-48c3-bc5f-5df059c1abb8', url: 'https://github.com/joesan/monix-samples.git' sh "git rev-parse HEAD > .git/commit-id" def commit_id = readFile('.git/commit-id').trim() println comit_id stage "build" { def app = docker.build "Monix-Sample" } stage "publish" { app.push […]

在Jenkins清理docker-compose数据卷

我有一个基于Docker和docker-compose文件的项目,我想通过Jenkinstesting。 我们有一些docker-compose文件,我们正在使用这些文件进行testing,所有这些文件都写入到相对于项目根目录的data目录中,例如 version: '3.1' services: simple: build: context: . dockerfile: ./Dockerfile-standalone ports: – "1005:1005" volumes: – ./data/simple/logs:/launcher/logs – ./data/simple/repository:/launcher/repository 我遇到的问题是,docker工人以root身份创build数据目录,而且无法从Jenkins清理它。 我不能从jenkins的工作中使用sudo ,所以这不是一个选项。 我至less需要本地文件系统上可用的日志目录来运行Jenkins作业中的一些检查。 我怎样才能确保在构build结束时删除整个data目录中的数据卷?

如何在父映像命令之前运行子Docker镜像命令

我有一个jenkins父母的图像,我在一个孩子的图像添加maven。 对于Maven代理,我需要更改setting.xml以从环境variables复制数据。 在子图像中,我可以添加shell脚本来更改settings.xml,然后从Jenkins父图像运行入口点。 但是,我必须跟踪父Jenkins图像中的任何更改。 在Docker中有没有办法引用父级cmd /入口点,或者直接在父级cmd上添加一些命令?

Jenkins在Docker中:无法parsingVCS主机

我正在将我现有的Jenkins实例从一台服务器迁移到托pipe在另一台服务器上的Docker。 顺便说一下,我是新来的Docker。 我能够毫无困难地在Docker中运行Jenkins实例。 但是,当我运行作业时,无法连接到VCS回购: stderr: fatal: unable to access 'http://tfs/path/to/app/': Could not resolve host: tfs at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1903) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1622) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:71) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:348) at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:807) 我的Dockerconfiguration应该如何查看才能让VCS主机解决? 我目前的docker-compose.xml如下所示: version: '2' services: jenkins: image: "jenkinsci/jenkins" ports: – "80:8080" volumes: – ./jenkins:/var/jenkins_home environment: JAVA_OPTS: "-Xms2048m -Xmx4096m" 非常感谢你。

pipe道输出到命令和terminal

我们在jenkins有命令: IMAGE_ID=$(docker build -t $REGISTRY/something/$BRANCH:latest docker/ | tail -n1 | awk '{ print $3 }') 获取图像ID,但问题是,我们没有看到docker build -t $REGISTRY/something/$BRANCH:latest docker/输出docker build -t $REGISTRY/something/$BRANCH:latest docker/ 。 我们应该如何pipe输出,我们仍然可以得到IMAGE_ID和看到输出? …我们缺乏linux大时间的技能… 祝你有美好的一天!

在Jenkins容器中运行docker容器,如何从主机设置卷?

我正在使用“docker外的泊坞窗”与jenkins运行一个容器。 我的docker工作人员是: — version: '2' services: jenkins-master: build: context: . volumes: – /var/run/docker.sock:/var/run/docker.sock – /dev/urandom:/dev/random – /home/jj/jenkins/jenkins_home/:/var/jenkins_home ports: – "8080:8080" 所以从“jenkins容器”启动的所有容器都在主机上运行。 但是当我尝试在需要音量的作业中运行“jenkins容器”中的docker-compose时,它将采用主机而不是jenkins的path。 我的意思是,当我运行docker-compose时 volumes: – .:/app 它被挂载在主机的 / var / jenkins_home / workspace / JOB_NAME中,但是我希望它被挂载在/ home / jj / jenkins / jenkins_home / workspace / JOB_NAME 任何想法做一个“干净”的模式? PD:我使用环境variables做了一个解决方法。

当在Docker中运行Jenkins和Jenkins容器停止时,所有作业数据都会丢失

在VPS服务器上,我使用以下命令运行Jenkins: docker run -d -p 8080:8080 jenkins 但有时,我的configuration错误将停止容器,然后在Jenkins中configuration的所有作业都将丢失。 我按照这个video在Docker中运行Jenkins。 这是在Docker中运行Jenkin的正确方法吗? 如何将我的工作保存在拉jenkins形象?

build设jenkinsdocker形象的失败

我正在使用下面的Dockerfile来构build一个带有预装插件的Jenkins图像。 FROM jenkins USER root RUN apt-get -yqq update RUN curl -sSL https://get.docker.com/ | sh RUN usermod -aG docker jenkins COPY plugins.txt /usr/share/jenkins/ref/plugins.txt RUN /usr/local/bin/install-plugins.sh $(cat /usr/share/jenkins/ref/plugins.txt) USER jenkins 但是,遇到了关于现有plugin.lock问题的错误。 Step 10/11 : RUN /usr/local/bin/install-plugins.sh $(cat /usr/share/jenkins/ref/plugins.txt) —> Running in 0823515c2574 Creating initial locks… [91mmkdir: cannot create directory '/usr/share/jenkins/ref/plugins/Plugin.lock': File exists [0mThe command '/bin/sh -c […]

如何在jenkins中构build一个docker镜像

我有一个jenkins maven的工作,并试图build立一个docker形象。 当我用这个命令build立图像时: docker build ./docker/ -t containers.test.com/78/tools 我得到这个错误: docker工人:“构build”需要1个参数。 请参阅“docker build –help” 我已经重新检查并检查了这个命令几十次。 我甚至试过直接在terminal上运行它。 它在docker工作,但不是在jenkins。 有什么我失踪? 我正在使用Docker版本1.12.6