构建 Maven 类型制品

功能介绍

在 CODING 持续集成中,您可以构建 Maven 包并上传至 CODING 制品库。

在使用该功能之前,请确保您对 Maven 类型制品库有初步了解,您可以点击阅读 在 CODING 中使用 Maven 制品库

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('发布到 maven 制品库') {
      steps {
        withCredentials([
          usernamePassword(
              // CODING 持续集成的环境变量中内置了一个用于上传到当前项目制品库的凭证
              credentialsId: env.CODING_ARTIFACTS_CREDENTIALS_ID,
              usernameVariable: 'CODING_ARTIFACTS_USERNAME',
              passwordVariable: 'CODING_ARTIFACTS_PASSWORD'
          )]) {
              withEnv([
                "CODING_ARTIFACTS_USERNAME=${CODING_ARTIFACTS_USERNAME}",
                "CODING_ARTIFACTS_PASSWORD=${CODING_ARTIFACTS_PASSWORD}"
              ]) {
                  sh 'mvn clean install'
                  sh 'mvn deploy -s ./settings.xml'
              }
          }
      }
    }
  }
}

settings.xml 配置

在代码库里创建 settings.xml,按照制品库指引页给出的代码,修改下面的 id:

<?xml version="1.0" encoding="UTF-8"?>
<settings>
  <servers>
    <server>
      <id>my-team-maven-demo-maven</id>
      <username>${env.CODING_ARTIFACTS_USERNAME}</username>
      <password>${env.CODING_ARTIFACTS_PASSWORD}</password>
    </server>
  </servers>
</settings>

pom.xml 配置

修改代码库里的 pom.xml,按照制品库指引页给出的代码,修改下面的 id、name 和 url:

<project>
    <!-- 必要属性 -->
    <groupId>[GROUP_ID]</groupId>
    <artifactId>[ARTIFACT_ID]</artifactId>
    <version>[VERSION]</version>

    <!-- 自定义仓库 -->
    <distributionManagement>
        <repository>
            <!--必须与 settings.xml 的 id 一致-->
            <id>my-team-maven-demo-maven</id>
            <name>maven</name>
            <url>https://my-team-maven.pkg.coding.net/repository/maven-demo/maven/</url>
        </repository>
    </distributionManagement>
</project>

环境变量配置

为了防止密码泄漏,应把用户名和密码放在环境变量里。在 CODING 持续集成中这样设置:

每个人本地开发可以使用自己的用户名和密码,在 Linux/macOS 中这样设置:

export CODING_ARTIFACTS_USERNAME=lilei@example.com
export CODING_ARTIFACTS_PASSWORD=123456

截图


上一篇构建 Docker 类型制品
最近更新
感谢反馈有用
感谢反馈没用

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

您希望我们如何改进?