pipeline 持续部署到仓库

jenkinsfile

/*
    jenkins 项目名 gprp_mllearning_master_CI
    jenkins GUI上的变量配置

        String: NODE, TAG,REPO_URL, BRANCH, EMAIL, credentialsId

        * JOB_NAME: 项目名
        * NODE: 发布机节点
        * REPO_URL: git项目仓库地址
        * BRANCH: 发布的分支
        * EMAIL: 项目负责人
        * credentialsId: 拉取代码的public key,要有写权限

*/

node(NODE) {
    try{
        compile()
        stage('通知负责人'){
            emailext body: "构建成功 ${BUILD_URL}\r\n", subject: '构建成功 ${JOB_NAME}', to: "${EMAIL}"
        }
    } catch (e) {
        sh "rm -rf .git pom.xml"
        compile()
        stage('通知负责人'){
            emailext body: "构建成功 ${BUILD_URL}\r\n", subject: '构建成功 ${JOB_NAME}', to: "${EMAIL}"
        }
    }
}
def compile(){
    stage('检出代码,编译,打包到仓库'){
        git branch: "${BRANCH}",credentialsId: "${credentialsId}", url: "${REPO_URL}"
    }
    if (BRANCH == "master"){

        sh '''

            if [[ `sed -n '/dependencies/,/dependencies/p' pom.xml| grep 'SNAPSHOT'` ]];then

                exit 1

            fi

        '''

        sh "/usr/local/maven/bin/mvn -Darguments=-Dmaven.test.skip=true release:prepare release:perform -B"
    }else if(BRANCH == "develop"){
        sh "/usr/local/maven/bin/mvn -Dmaven.test.skip=true deploy -U -B"
    }

}

pom.xml

    <scm>
        <connection>scm:git:ssh://git@gitlab.${HOST}.com/gprp/gprp_cloud_api.git</connection>
        <developerConnection>scm:git:ssh://git@gitlab.${HOST}.com/gprp/gprp_cloud_api.git</developerConnection>
        <url>http://gitlab.${HOST}.com/gprp/gprp_cloud_api/</url>
        <tag>v1.0.68</tag>
    </scm>
    <distributionManagement>
        <repository>
            <id>gprp</id>
            <url>http://nexus.${HOST}doc.com:8081/repository/gprp/</url>
        </repository>
        <snapshotRepository>
            <id>gprp-snapshot</id>
            <url>
                http://nexus.${HOST}doc.com:8081/repository/gprp-snapshot/
            </url>
        </snapshotRepository>
    </distributionManagement>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容