Jenkins流水线中使用Artifactory插件无法推送Docker镜像至Artifactory
Jenkins流水线推送Docker镜像到Artifactory实战
我之前已经在Artifactory上部署好了Docker Registry,直接用docker命令拉取、推送镜像都完全正常。现在要通过Jenkins流水线把指定镜像registry-url/docker/image:latest推送到Artifactory上那个名叫docker的Docker仓库里,以下是我配置的部署阶段代码:
stage('Deploy Docker image') { steps { script { // 引用Jenkins中配置好的Artifactory服务器('xxx'是你在Jenkins里设置的服务器ID) def server = Artifactory.server 'xxx' // 初始化Docker客户端 def rtDocker = Artifactory.docker() // 配置镜像与Artifactory仓库的关联信息 rtDocker.server = server rtDocker.image = 'registry-url/docker/image:latest' rtDocker.repository = 'docker' // 对应Artifactory上的目标Docker仓库名 // 执行镜像推送操作 rtDocker.push() } } }
几个需要留意的细节:
- 要保证Jenkins全局配置里的Artifactory服务器ID和代码里的
'xxx'完全一致,不然会找不到服务器配置 - 镜像地址里的
registry-url必须和你用docker命令直接推送时的仓库访问地址匹配 - 如果需要先构建镜像再推送,可以在这个阶段前加入镜像构建步骤,比如用
docker build -t registry-url/docker/image:latest .完成本地构建
内容的提问来源于stack exchange,提问作者lvthillo
相关产品推荐
相关产品推荐

