草庐IT

Jenkins-Blue

全部标签

Jenkins 没有等待 Docker 命令完成

我正在尝试让Jenkins在Jenkins从站上的docker中运行以下命令:dockerrun-i-v`pwd`:/opt/myapp-w/opt/myapp-tmydockerimage/bin/bash-c"./setup_dev_env.sh&&makeall"问题在于,当我在Jenkins中运行此时,会生成Docker进程,但Jenkins不会等待它并立即返回成功。但是,如果我将Docker命令替换为无限循环,Jenkins将按预期等待。当我直接从buildslave运行这个命令时,作为Jenkins用户,系统等待命令完成(这是我想要发生的)。我尝试过执行dockeratta

maven - 扩展 jenkins 镜像以安装 maven

我目前正在使用jenkins/jenkins:lts图像。它运行良好,并且可以完成我希望做的所有事情。我希望它在构建步骤中运行Maven目标。问题是jenkins容器环境中没有安装maven。所以我想扩展上述图像以运行apt-getinstallmaven。我的解决方案:FROM"jenkins/jenkins:ltsUSERrootRUN/bin/bash-c"apt-getinstallmaven"这就够了吗?我假设jenkins镜像的所有RUN和ENTRYPOINT步骤都将自行运行,我不需要在我的Dockerfile中重新执行它们,对吧? 最佳答案

maven - 扩展 jenkins 镜像以安装 maven

我目前正在使用jenkins/jenkins:lts图像。它运行良好,并且可以完成我希望做的所有事情。我希望它在构建步骤中运行Maven目标。问题是jenkins容器环境中没有安装maven。所以我想扩展上述图像以运行apt-getinstallmaven。我的解决方案:FROM"jenkins/jenkins:ltsUSERrootRUN/bin/bash-c"apt-getinstallmaven"这就够了吗?我假设jenkins镜像的所有RUN和ENTRYPOINT步骤都将自行运行,我不需要在我的Dockerfile中重新执行它们,对吧? 最佳答案

jenkins - 无法通过 docker 容器执行 ansible playbook

我正在docker容器内的jenkins上执行管道。此管道调用另一个执行ansibleplaybook的docker-compose文件。执行playbook的服务称为代理,定义如下:agent:image:pjestrada/ansiblelinks:-dbenvironment:PROBE_HOST:"db"PROBE_PORT:"3306"command:["probe.yml"]这是它使用的图像:FROMubuntu:trustyMAINTAINERPabloEstrada#PreventdpkgerrorsENVTERM=x-term-256colorRUNsed-i"s/h

jenkins - 无法通过 docker 容器执行 ansible playbook

我正在docker容器内的jenkins上执行管道。此管道调用另一个执行ansibleplaybook的docker-compose文件。执行playbook的服务称为代理,定义如下:agent:image:pjestrada/ansiblelinks:-dbenvironment:PROBE_HOST:"db"PROBE_PORT:"3306"command:["probe.yml"]这是它使用的图像:FROMubuntu:trustyMAINTAINERPabloEstrada#PreventdpkgerrorsENVTERM=x-term-256colorRUNsed-i"s/h

java - 更新镜像后让 Jenkins "update"运行 docker 容器的最佳方法

对于Docker和Jenkins,我们的组织相对较新。我们正在开发从(Java)源代码更新到运行应用程序的CI管道。目前Jenkins正在使用CloudbeesDockerBuildandPublish插件在构建成功后更新镜像。它只是拉取基础(JBoss)镜像并使用它刚刚构建的应用程序WAR文件(通过Maven)对其进行更新。我们正在使用“通过SSH发送命令”构建步骤通过SSH连接到(当前运行的)容器所在的服务器,停止具有指定镜像ID的容器,然后重新拉取并随后运行容器。但是,我知道必须有更好、更优雅的方式来做到这一点。令人惊讶的是,我很难找到有关如何做到这一点的文档。任何意见,将不胜感

java - 更新镜像后让 Jenkins "update"运行 docker 容器的最佳方法

对于Docker和Jenkins,我们的组织相对较新。我们正在开发从(Java)源代码更新到运行应用程序的CI管道。目前Jenkins正在使用CloudbeesDockerBuildandPublish插件在构建成功后更新镜像。它只是拉取基础(JBoss)镜像并使用它刚刚构建的应用程序WAR文件(通过Maven)对其进行更新。我们正在使用“通过SSH发送命令”构建步骤通过SSH连接到(当前运行的)容器所在的服务器,停止具有指定镜像ID的容器,然后重新拉取并随后运行容器。但是,我知道必须有更好、更优雅的方式来做到这一点。令人惊讶的是,我很难找到有关如何做到这一点的文档。任何意见,将不胜感

docker - Jenkins 管道 : docker. withServer(...) 不在远程服务器上执行 docker 命令

我正在使用DockerPipeline插件1.10版。我将Jenkins安装在容器中。我有一个运行Docker守护程序的远程服务器。可以通过TCP(已测试)从Jenkins机器访问该守护程序。我在Docker守护程序上禁用了TLS安全性。我无法使docker.withServer(...)步骤工作。作为一项基本测试,我只是将以下内容放入Jenkinsfile中(如果我是正确的,这是一个有效的管道内容):docker.withServer('tcp://my.docker.host:2345'){defmyImage=docker.build('myImage')}当管道执行时,我收到此

docker - Jenkins 管道 : docker. withServer(...) 不在远程服务器上执行 docker 命令

我正在使用DockerPipeline插件1.10版。我将Jenkins安装在容器中。我有一个运行Docker守护程序的远程服务器。可以通过TCP(已测试)从Jenkins机器访问该守护程序。我在Docker守护程序上禁用了TLS安全性。我无法使docker.withServer(...)步骤工作。作为一项基本测试,我只是将以下内容放入Jenkinsfile中(如果我是正确的,这是一个有效的管道内容):docker.withServer('tcp://my.docker.host:2345'){defmyImage=docker.build('myImage')}当管道执行时,我收到此

docker - Jenkins 构建镜像中不存在 node_modules

我正在从Dockerfile运行Jenkins,并已使用本地docker.sock成功与Bitbucket云集成。我已经使用BlueOcean设置了一个新的管道,它下载了repo并从Dockerfile构建了一个简单的nodejs应用程序。我的文件如下所示:节点应用FROMnode:8.6.0-slimWORKDIRapp#InstalldependenciesCOPYpackage.json.RUNnpminstallRUNls#ImportsourcefilesCOPY..Jenkins文件pipeline{agent{dockerfiletrue}stages{stage('Te