Docker
文章内容
功能介绍
本文将给出如何使用持续集成任务构建 Docker 镜像的示例 Jenkinsfile。构建完成后可以使用预置插件便捷的上传至 CODING 制品仓库中。在使用该功能之前,请确保您对 Docker 类型制品库有初步了解。
Jenkinsfile
pipeline {
agent any
stages {
stage('检出') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: env.GIT_BUILD_REF]],
userRemoteConfigs: [[url: env.GIT_REPO_URL, credentialsId: env.CREDENTIALS_ID]]
])
}
}
stage('构建 Docker 镜像') {
steps {
script {
ARTIFACT_VERSION = "1.2.0"
// 注意:创建项目时链接标识不要使用下划线,而是连字符,比如 My Project 的标识应为 my-project
// 请修改 build/my-api 为你的制品库名称和镜像名称
CODING_DOCKER_IMAGE_NAME = "${env.PROJECT_NAME.toLowerCase()}/build/my-api"
// 本项目内的制品库已内置环境变量 CODING_ARTIFACTS_CREDENTIALS_ID,无需手动设置
docker.withRegistry("https://${env.CCI_CURRENT_TEAM}-docker.pkg.coding.net", "${env.CODING_ARTIFACTS_CREDENTIALS_ID}") {
docker.build("${CODING_DOCKER_IMAGE_NAME}:${ARTIFACT_VERSION}").push()
}
}
}
}
}
}
制品打包完成后,需发往不同的环境中。此时的版本号若能够具备语义,能够让人一眼就判断出不同的环境下所对应的不同制品版本,将有助于提升开发效率。关于如何自动生成版本号,详细说明请参考此文档。
问题反馈 >
2022-05-06最近更新
感谢反馈有用
感谢反馈没用
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。