Jenkins 进阶:使用插件及maven上传制品到nexus

在Jenkins中,使用插件上传Maven构建的制品(如jar、war文件)到Nexus仓库是一个常见的CI/CD实践。以下是如何配置这一流程的步骤概述,主要涉及安装必要的插件、配置Maven项目以及设置Jenkins Job来执行部署操作。

1. 安装必要的Jenkins插件

  • Maven Integration Plugin:如果你使用的是自由风格的项目,这个插件提供了Maven构建步骤的配置界面。对于Pipeline项目,这个插件不是必须的,因为可以直接在Pipeline脚本中使用Maven命令。
  • Credentials Binding Plugin:用于在构建中安全地绑定凭据,如Nexus的登录凭证。
  • Publish Over SSHSSH Agent Plugin(如果Nexus通过SSH访问):如果需要通过SSH上传文件到远程服务器。

2. 在Nexus中创建仓库和用户

  • 登录到Nexus Repository Manager。
  • 创建一个适合存放你的Maven制品的仓库,如Hosted或Group类型。
  • 创建或配置一个用户,拥有上传权限,并记下其用户名和密码(或API密钥),稍后将在Jenkins中用作凭据。

3. 配置Jenkins Job

3.1 在自由风格项目中配置
  • 源码管理:配置Git或其他SCM,指向你的Maven项目仓库。
  • 构建触发器:根据需要配置触发条件,如Poll SCM(定时检查代码更新)。
  • 构建环境:如果使用SSH访问Nexus,配置SSH Keys。
  • 构建步骤
    • 添加“Invoke top-level Maven targets”,在“Goals”中输入clean deploydeploy -DskipTests(跳过测试)。
    • 配置Maven安装和根POM路径(如果有必要)。
    • 在“高级…”选项中,配置Maven设置文件(如果使用了自定义settings.xml),并在“Global MAVEN_OPTS”中添加认证信息,如 -DrepositoryId=nexus -Durl=https://nexus.example.com/repository/maven-releases/ -Dusername=your_username -Dpassword=your_password。但更推荐使用Jenkins凭据管理。
3.2 在Pipeline项目中配置
pipeline {
    agent any
    environment {
        MAVEN_SETTINGS_PATH = '/path/to/settings.xml' // 如果需要自定义settings.xml
        NEXUS_CREDENTIALS_ID = 'nexus_credentials_id' // 凭据ID
    }
    stages {
        stage('Build') {
            steps {
                withMaven(maven: 'Maven_3', mavenSettingsConfig: MAVEN_SETTINGS_PATH) { // 或者直接使用默认Maven配置
                    sh 'mvn clean deploy -DskipTests'
                }
            }
        }
    }
    post {
        always {
            // 可以在这里添加上传或通知步骤
        }
    }
}

4. 配置凭据

  • 在Jenkins的“Credentials”管理页面,添加一个“Username with password”类型的凭据,存储Nexus的用户名和密码。记得记下凭据ID(如上面的NEXUS_CREDENTIALS_ID)。

5. 高级配置

  • 如果你的Maven项目需要特定的settings.xml(例如包含Nexus的服务器配置),确保在Job配置或Pipeline中正确引用了它。
  • 为了安全,确保Maven的部署配置(如repositoryId、url等)不在源代码中硬编码,而是通过安全的方式(如settings.xml或Jenkins凭据)提供。

完成以上步骤后,每当有新的提交触发构建,Jenkins将会编译项目并自动将制品上传到Nexus仓库中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值