pipeline上使用java,pipeline构建java项目的Groovy脚本

Groovy脚本:#!groovy

@Library('jenkinslib@master') _

def tools = new org.devops.tools();

pipeline{

agent{

node{

label "master"

}

}

stages{

stage("Checkout"){

steps{

script{

tools.PrintMes("获取代码","green")

checkout([

$class: 'GitSCM', branches: [[name: '*/master']],

doGenerateSubmoduleConfigurations: false, extensions: [],

submoduleCfg: [],

userRemoteConfigs: [

[

credentialsId: '398170a9-72a6-410b-8293-334687f152da',

url: 'http://192.168.0.26/qiyang/solo.git'

]

]

])

}

}

}

stage("build"){

steps{

script{

tools.PrintMes("编译","green")

mvnHome = tool "M2"

sh "${mvnHome}/bin/mvn clean package -Dmaven.test.skip=true"

}

}

}

stage("NexusUpload"){

steps{

script{

tools.PrintMes("NexusUpload","green")

def jarName = sh returnStdout: true, script: "cd target;ls *.war"

env.jarName = jarName - "\n"

def pom = readMavenPom file: 'pom.xml' // 需要安装 pipeline-utility-steps 插件

env.pomVersion = "${pom.version}" // 需要到 “Manage Jenkins” -> “In-process Script Approval”点击approval

env.pomArtifact = "${pom.artifactId}"

env.pomPackaging = "${pom.packaging}"

env.pomGroupId = "${pom.groupId}"

tools.PrintMes("--------------------","green")

println("${env.jarName}-${pomGroupId}-${pomArtifact}-${pomVersion}-${pomPackaging}")

def mvnHome = tool "M2"

// 需要在 /usr/local/maven/conf/settings.xml 中加入Nexus的账号和密码

sh """

cd target/

${mvnHome}/bin/mvn deploy:deploy-file -Dmaven.test.skip=true \

-Dfile=${env.jarName} -DgroupId=${pomGroupId} \

-DartifactId=${pomArtifact} -Dversion=${pomVersion} \

-Dpackaging=${pomPackaging} -DrepositoryId=maven-releases \

-Durl=http://192.168.0.26:8081/repository/maven-releases/

"""

}

}

}

stage("test"){

steps{

echo "${createVersion(BUILD_NUMBER)}"

hello("Hi!")

//sh "printenv"

}

}

}

}

def createVersion(String BUILD_NUMBER){

return new Date().format('yymm')+"-${BUILD_NUMBER}"

}

注意点:

插件安装:读取pom文件信息需要安装一个插件,名称如下pipeline-utility-steps

jenkins的配置:获取版本信息需要在jenkins中添加Approvals信息。

“Manage Jenkins” -> “In-process Script Approval”点击approval

8636b9cbd2380ef1efa5a7194fc79301.png

2209a0612a2834117fcdd291359d2f1f.png

maven的配置:在配置文件 /usr/local/maven/conf/settings.xml 中的servers标签中添加Nexus的账号和密码,用于maven上传制品到Nexus中。

maven-releases

admin

qiyang

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值