Jenkins Pipeline 编译后端 Java 代码
需要安装的插件:Pipeline Maven Integration
安装 maven
系统管理 -> 全局工具配置 -> Maven 填入名字为 maven 3.3.9 ,版本选择 3.3.9
配置 Maven settings.xml:
系统管理 -> Management File -> Add a new Config -> Maven settings.xml 填入内容,记住 ID bb37715e-00e5-4350-8bbd-1eae8a57d2d8,后面需要使用
配置拉取 bitbucket 代码凭证
系统管理 -> Manage Credentials -> 全局凭据 -> 添加凭证 选择类型为 Username with password 填入内容,记住 ID 1639462c-7254-497a-b352-0fba485a0fcb,后面需要使用
配置部署到目标服务器的 ssh 的代码凭证
系统管理 -> Manage Credentials -> 全局凭据 -> 添加凭证 选择类型为 SSH Username with private key 填入内容,记住 ID cb9d8a50-0141-4316-97df-8da33e5a3ab0,后面需要使用
pipeline {
agent any
parameters {
// 选择分支发布
gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH', listSize: '25'
}
stages {
stage('Git pull') {
steps {
// 下载代码
git credentialsId: '1639462c-7254-497a-b352-0fba485a0fcb', branch: "${params.BRANCH}", url: 'http://bitbucket.klvchen.com/scm/klvchen/klvchen.git'
}
}
stage('Build') {
steps {
withMaven(
maven: 'maven 3.3.9',
mavenLocalRepo: '.repository',
mavenSettingsConfig: 'bb37715e-00e5-4350-8bbd-1eae8a57d2d8'
) { // 根据自己的实际情况编写
sh "mvn clean package -Dmaven.test.skip=true -Ptest"
}
}
}
stage('Deploy') {
steps {
withCredentials([sshUserPrivateKey(credentialsId: 'cb9d8a50-0141-4316-97df-8da33e5a3ab0', keyFileVariable: 'pem')]) {
sh '''
scp -i ${pem} -o "StrictHostKeyChecking=no" klvchen/target/klvchen.war root@192.168.0.200:/root/mytmp/
'''
}
}
}
}
}