zoukankan      html  css  js  c++  java
  • 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/
                        '''
                    }
                }
            }
            
        }
       
    }
    
  • 相关阅读:
    留言板
    阿里云ECS 个人博客搭建流程
    安卓包 无崩溃文件的崩溃问题解决
    win10家庭版 远程桌面解决方案
    python int(a/b)和//的区别(转)
    git基本操作
    《代码整洁之道》读后总结
    《人月神话》的观点:是与非?
    小白第一次装机体验
    python2和python3之间的差异和区别
  • 原文地址:https://www.cnblogs.com/klvchen/p/13692635.html
Copyright © 2011-2022 走看看