docker - docker build with jenkins 问题
问题描述
我正在尝试编写一个管道,它首先克隆一个存储库,然后构建一个 docker 映像,然后将 docker 映像推送到 docker hub。以下是我的詹金斯文件。
pipeline {
agent { dockerfile true }
environment {
APPLICATION = 'connect'
ENVIRONMENT = 'dev'
BUILD_VERSION = '0.9.5'
MAINTAINER_NAME = 'Shoaib'
MAINTAINER_EMAIL = 'shoaib@email.com'
BUILD_DOCKER_REPO = repo1/images'
DOCKER_IMAGE_TAG = 'repo1/images:connect_dev_0.9.5'
}
stages {
stage('clone repository') {
steps {
checkout Jenkins-Integration
}
}
stage('Build Image') {
steps {
image = docker.build("-f Dockerfile.local", "--no-cache", "-t ${DOCKER_IMAGE_TAG}", "--build-arg envior=${ENVIRONMENT} .", "--build-arg build_version=${BUILD_VERSION} .", "--build-arg maintainer_name=${MAINTAINER_NAME} .", "--build-arg maintainaer_email=${MAINTAINER_EMAIL} .")
}
}
stage('Deploy') {
steps {
script {
docker.withRegistry('https://registry.example.com', 'docker-hub-credentials') {
image.push(${DOCKER_IMAGE_TAG})
}
}
}
}
}
}
我试过用谷歌搜索,但找不到满意的答案。任何帮助表示赞赏。
解决方案
将docker.build
下面的阶段放入script
如下:
stage('Build Image') {
steps {
script {
def image = docker.build("-f Dockerfile.local", "--no-cache", "-t ${DOCKER_IMAGE_TAG}", "--build-arg envior=${ENVIRONMENT}", "--build-arg build_version=${BUILD_VERSION}", "--build-arg maintainer_name=${MAINTAINER_NAME}", "--build-arg maintainaer_email=${MAINTAINER_EMAIL} .")
}
}
}
推荐阅读
- jquery - jquery拖动不同形状的div并拖放到容器中
- c# - 静态构造函数中的线程不能立即工作
- powershell - 提取部分txt文件
- python - 如何使用 tf.Print() 在张量内打印 3 个以上的值?
- angular - 对待 API Angular 4
- python - Python:删除每一行中的随机元素
- python - 如何使用 Firebase 在 python 中使用参数路由函数?
- python - python:如何检查用户输入的整数是否匹配列表中的项目?
- php - 使用 laravel5.6 自定义(动态)日志文件名
- javascript - 如何使用 Draft.js 插入图像?