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/
                    '''
                }
            }
        }
        
    }
   
}
原文地址:https://www.cnblogs.com/klvchen/p/13692635.html