Skip to content

Latest commit

 

History

History
91 lines (58 loc) · 2.12 KB

Jenkins-nexus.md

File metadata and controls

91 lines (58 loc) · 2.12 KB

Jenkins集成Nexus

demo地址: https://github.com/zeyangli/springboot-helloworld.git

总体目标

开发人员提交代码,更新pom信息。jenkins读取pom文件中的信息,通过nexus插件上传到nexus。通过nexus参数获取最新的包下载地址。

项目配置

pom.xml文件

  • groupId: 业务名称简称
  • artifactId: 应用名称
  • version: 版本信息
<groupId>demo</groupId>
<artifactId>demo-devops-service</artifactId>
<version>4.0</version>

注: 没做一次更新都要更改version信息,因为release的maven仓库设置了不能同版本更新。

Nexus(create repo)

iamges

Jenkins(CI)

  • 安装插件:Pipeline Utility Steps
  • 安装插件:Nexus Artifact Uploader
  • 设置scriptApproval: 允许Approval

iamges

node("master"){
    
    stage("Get Code"){
        checkout scm
    }
    
    stage("Build & Unit Test"){
        def mvnHome="/usr/local/apache-maven-3.6.0" 
        sh "${mvnHome}/bin/mvn clean install "
        
    }
    
    stage("Scan Code"){
        println("code scan")
        
    }
    
    stage("Push Nexus"){
        def pom = readMavenPom file: 'pom.xml'
        nexusArtifactUploader(artifacts: [[artifactId: "${pom.artifactId}", 
                                           classifier: '', 
                                           file: "./target/${pom.artifactId}-${pom.version}.${pom.packaging}", 
                                           type: "${pom.packaging}"]],
                              credentialsId: 'nexus-admin', 
                              groupId: "${pom.groupId}", 
                              nexusUrl: '192.168.0.44:8081', 
                              nexusVersion: 'nexus3', 
                              protocol: 'http', 
                              repository: "${pom.groupId}", 
                              version: "${pom.version}")
        
    }
    
    stage("To Email "){
        
        
    }
}

Jenkins (CD)

  • 安装插件: Maven Artifact ChoiceListProvider (Nexus)

images

images

构建

images