1. 产品简介
  2. 快速开始
  3. 编写构建流程
  4. 配置构建计划
  5. 构建环境依赖包
  6. 构建制品
  7. 构建节点
  8. 管理构建计划
  9. 系统插件
  10. 自定义团队插件
  11. 最佳实践
  12. 常见问题
  13. 词汇表
持续集成 / 构建制品 / Docker

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()
          }
        }
      }
    }
  }
}

制品打包完成后,需发往不同的环境中。此时的版本号若能够具备语义,能够让人一眼就判断出不同的环境下所对应的不同制品版本,将有助于提升开发效率。关于如何自动生成版本号,详细说明请参考此文档

问题反馈 >
上一篇Composer
2022-05-06最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?*

您希望我们如何改进?*

在线支持

工单咨询