作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在改造管道以使用声明式管道方法,以便我能够 to use Docker images在每个阶段。
目前我有以下工作代码,它执行连接到在 Docker 容器中运行的数据库的集成测试。
node {
// checkout, build, test stages...
stage('Integration Tests') {
docker.image('mongo:3.4').withRun(' -p 27017:27017') { c ->
sh "./gradlew integrationTest"
}
}
pipeline {
agent none
stages {
// checkout, build, test stages...
stage('Integration Test') {
agent { docker { image 'openjdk:11.0.4-jdk-stretch' } }
steps {
script {
docker.image('mongo:3.4').withRun(' -p 27017:27017') { c ->
sh "./gradlew integrationTest"
}
}
}
}
}
}
docker.image()
导致
docker: not found
阶段中的错误(它正在现在使用的
openjdk
图像中寻找 docker)。
最佳答案
本质上您正在尝试使用的是 DIND。
您正在使用 jenkins slave,它基本上是使用 docker agent { docker { image 'openjdk:11.0.4-jdk-stretch' } }
创建的
容器运行后,您将尝试执行 docker 命令。错误 docker: not found
有效,因为没有安装 docker cli。您需要更新 dockerfile/创建一个安装了 openjdk:11.0.4-jdk-stretch 和 docker dameon 的自定义镜像。
安装守护程序后,您需要批量挂载/var/run/docker.sock 以便守护程序将通过套接字与主机 docker 守护程序通信。
用户应该是 root 或特权用户,以避免出现权限被拒绝的问题。
关于docker - Jenkins:从与代理(另一个 Docker 容器)一起运行的阶段连接到 Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57785359/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!