Ern*_*aan 5 jenkins docker jenkins-pipeline
在 Jenkinsfile 中,如何运行 Docker 容器并捕获输出,而不恢复为sh指令?
这就是我在该阶段构建容器映像的方式Build:
dockerImage = docker.build(env.DOCKER_COORDS, "--build-arg BUILD_VERSION=${env.BUILD_VERSION} .")
Run Code Online (Sandbox Code Playgroud)
这就是我在后期推送图像的方式Publish:
withDockerRegistry(credentialsId: env.DOCKER_REG_CREDS_ID) {
dockerImage.push('latest')
}
Run Code Online (Sandbox Code Playgroud)
Build在和阶段之间Publish,在一个Test阶段中,我想验证容器的输出在传递参数时--version是否等于${env.BUILD_VERSION}。
如何运行容器并捕获输出,而无需sh "docker ..."再次使用指令?
小智 0
通常,您可以使用该方法运行并捕获输出sh(在 Linux 从属设备和batWindows 上)。例如,要检索官方 python docker 的 python 版本,它将如下所示:
def version = sh label: '', returnStdout: true, script: 'docker run python python --version'
Run Code Online (Sandbox Code Playgroud)
然后您可以将命令的输出与${env.BUILD_VERSION}. 这应该与您的 docker 映像没有什么不同。
| 归档时间: |
|
| 查看次数: |
9262 次 |
| 最近记录: |