Tag: jenkins

Jenkinspipe道docker.image调用会生成一个超时

我最近升级了我的jenkins / Docker安装,因为我在我的jenkinspipe道脚本中运行一个docker的时候会随机遇到超时,在这个脚本中我开始了一个docker: docker.image("${dockerImage}").inside(' -v /opt/software/:/software/:Z'){ ….. } 这是随机发生的,我的作业崩溃,出现以下错误消息(请参阅此主题底部的扩展日志): ERROR: Timeout after 10 seconds 更新:我的pipe道脚本: stage('Build'){ node("master"){ withEnv(['GIT_SSL_NO_VERIFY=true']){ checkout([$class: 'GitSCM', branches: [[name: "$myGitSHA"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId:"${myGitCredentialsId}" , url:"${myGitUrl}" ]]]) } docker.image("${dockerImage}").inside(' -v /opt/software/:/software/:Z'){ // Cleaning any the previous build sh "make all" } // docker } // node } // […]

Jenkins Pipeline Plug-in是否支持Do​​cker Compose?

我正在寻找一种在Jenkins 2.0中运行由多个容器组成的Docker-enabled构build的方法。 是否有任何计划在Pipeline中本地支持Docker Compose ,或者通过CloudBees docker插件进行pipe道。 或者可以/必须通过明确的电话来解决sh docker-compose… ? 也许甚至可以在内部使用它们try… finally进一步控制服务生命周期。 编辑:第一个答案是build议在jenkinsbuild立docker集装箱的方法。 这不是这里所需要的。 我(EngineerDollery)希望在jenkins中构build我的目标平台,以便我可以将应用程序部署到它并运行端到端testing。

如何在每个合并请求上通过Docker启动应用程序?

我运行jenkins和我的应用程序dockerized,即当我运行容器它暴露端口3000,我可以指向我的浏览器。 在每个Github PR上,我都想将git commit部署到某个正在运行的容器,并让Jenkins将其链接到可以访问的链接。 任何PR更新都会自动重新部署,并在PRclosures/解决它被取消。 我已经看过kubernetes和一个小农场主,但假设我只能部署到一个盒子,最简单的方法是什么?

问题与jenkinspipe道脚本和docker工人图像

我尝试在Docker容器中构build项目,图像如下所示: FROM maven:3.3.9-jdk-8 WORKDIR mvnBuildDir ENTRYPOINT ["mvn"] 如果我运行我的容器像下面一切正常。 docker run -v /home/user/Worspace/myMavenProject:/mvnBuildDir myMaven3 clean package 但是,如果我在我的Jenkinsfile中尝试这个,我得到了一个错误,没有告诉我什么。 Jenkinsfile: //… def maven = docker.image("myMaven3"); maven.inside("-v ${workdir}:/mvnBuildDir"){ stage "build and test" sh "mvn clean install" } //.. 错误: [Pipeline] { [Pipeline] stage (build and test) Entering stage build and test Proceeding [Pipeline] sh [master] Running shell script + […]

在Docker容器中启动Jenkins

我想在Centos7的Docker容器中运行Jenkins。 我看到了Jenkins的官方文档:首先,从Docker存储库中提取官方jenkins镜像。 docker pull jenkins 接下来,使用该映像和映射数据目录从容器运行一个容器到主机; 例如在下面的例子中,容器中的/ var / jenkins_home被映射到主机上当前path的jenkins /目录。 jenkins8080港口也暴露在主机作为49001。 docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins 但是,当我尝试运行docker容器时出现以下错误: /usr/local/bin/jenkins.sh: line 25: /var/jenkins_home/copy_reference_file.log: Permission denied 有人能告诉我如何解决这个问题?

在Jenkins停止Docker容器的最佳方法

我有一个build立新的Docker镜像的CI服务器(jenkins)。 现在我想在构build成功时运行一个新的Docker容器。 但是为此我必须停止以前运行的容器。 什么是最好的方式来执行此操作? localhost:5000/test/myapp:"${BUILD_ID}是我的新图像的名称,所以我使用build-id作为标记。 docker stop localhost:5000/dbm/my-php-app:${BUILD_ID-1} 但这不是一个正确的解决scheme,因为当一个构build失败时,这将是错误的。 Build 1: succes -> run container 1 Build 2: failed -> run container 1 Build 3: succes -> stop container (3-1) =2 –> wrong (isn't running) 什么可能是一个解决scheme? build议我必须改变标签的想法也是受欢迎的

使用Docker Pipeline插件时,在Jenkins停止和移除Docker容器的正确方法是什么?

我有一个Jenkinspipe道构build和运行Docker机器,而不是作为代理,但是使用脚本块以及Dockerpipe道插件方法docker.build()和Image.run() 。 这工作正常,但如果构build失败,泊坞窗容器仍在运行! 我目前有一个post{ always{} }块中的Container.stop() ,但它似乎不工作。 我不想让我的Jenkins服务器在每次构build后删除容器,我不能离开它,因为它有一个特定的和必要的名称。 无论构build失败,我如何停止和rm容器? 我的pipe道: pipeline { agent none stages { stage('Checkout') { agent any steps { checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '<some credentials>', url: '<a git repo>']]]) } } stage('Spin Up Receiver') { agent any steps { script { def receiver […]

docker集装箱与jenkins安装量有困难

我使用Jenkins Docker插件来构build我的图像(这个工作),我可以使用类似的命令来运行容器 docker run test-env:latest /etc/bootstrap.sh -jenkins 但是,当我跑步 docker run -u root -v $WORKSPACE:/test test-env:latest /etc/bootstrap.sh -jenkins 我遇到了一些问题。 卷/testing存在于容器中,但它不包含$ WORKSPACE所具有的任何文件。 在运行我的docker集装箱之前,我做了一个 cd $WORKSPACE && ls -al 其中显示以下内容: total 52 drwxr-xr-x 10 root root 4096 Sep 3 15:49 . drwxr-xr-x 3 root root 4096 Sep 3 15:49 .. drwxr-xr-x 8 root root 4096 Sep 3 15:49 […]

Jenkinspipe道的Docker插件 – 没有用户存在uid 1005

我试图从Jenkinspipe道中的Docker容器内部执行SSH命令。 我正在使用CloudBees Dockerpipe道插件来启动容器并执行命令,并使用SSH代理插件来pipe理我的SSH密钥。 这里是我的Jenkinsfile的基本版本: node { step([$class: 'WsCleanup']) docker.image('node').inside { stage('SSH') { sshagent (credentials: [ 'MY_KEY_UUID' ]) { sh "ssh -vvv -o StrictHostKeyChecking=no ubuntu@example.org uname -a" } } } } 当SSH命令运行时,我得到这个错误: + ssh -vvv -o StrictHostKeyChecking=no ubuntu@example.org uname -a No user exists for uid 1005

jenkinsGithub插件不能select我的凭据

很奇怪的行为,从来没有发生过,当我尝试在JenkinsconfigurationGithub服务器configuration设置webhooks自动,下拉菜单不显示我的注册凭据,我总是能够做到这一点,但突然间我不不知道发生了什么,我试图卸载插件,重新启动jenkins,杀了jenkinsdocker容器一个configuration所有的东西再次..仍然是相同的问题。 除了没有其他的select,没有其他的select,当我添加新的凭据,我仍然没有作为唯一的select..