wangzilun
2022-02-21 4c416130e8d0639f2f5afa7b6e5f47b7beef0cfe
Jenkinsfile
@@ -10,6 +10,7 @@
        }
    options {
        //给日志加上时间错, 需安装 Timestamper 插件
        //mvn test surefire-report:report
        timestamps()
        ansiColor('xterm')
        //丢弃旧的构建前两个为发布包保留天数(比此早的发布包将被删除,但构建的日志、操作历史、报告等将被保留)和构建个数
@@ -29,7 +30,15 @@
            }
        }
        stage('test') {
        stage('testMaven') {
            steps {
                sh 'mvn clean test -U'
                junit allowEmptyResults: true, keepLongStdio: true, skipPublishingChecks: true, testResults: 'target/surefire-reports/*.xml'
            }
        }
        stage('testFunction') {
            steps {
                sh '''
@@ -69,8 +78,32 @@
                test("${project_name}","${GIT_CREDENTIALS_ID}","${url}","${GIT_BRANCH}")
            }
        }
        //将项目打成war并归档,将配置文件目录存入stash
        stage('package') {
            steps {
                sh '''#!/bin/sh
                    ####maven编译部署#####
                    mvn clean package -U
                    ##处理结果包
                    old_version_all=\$(find . -iname "\${projectName}.java"| xargs sed -nr 's/^[^0-9]*\\"(([0-9]+\\.)*[0-9]+.*-[0-9]+)\\".*;/\\1/p\')
                    echo "old_version_all \$old_version_all"
                    echo "projectName \$projectName"
                    dir_name=\${projectName}"-"\$old_version_all
                    echo "dir_name \$dir_name"
                    cd target
                    mkdir \$dir_name
                    cp *.war \$dir_name
                    zip -r "\$dir_name.zip" \$dir_name
                '''
            }
        }
        stage('version add') {
            when {
                //版本号自动添加逻辑需同时符合下列触发条件:
                //1. 不能在master分支触发
                //2. 有任意浏览器页面资源文件修改
                //3. 不包含[项目名.java]文件的修改
                allOf {
                    not {
                        branch 'master'
@@ -88,10 +121,9 @@
                    }
                }
            }
            steps{
                echo "todo add version"
            steps {
                versionAddTest("${project_name}","${GIT_CREDENTIALS_ID}","${url}","${GIT_BRANCH}")
            }
        }
        stage('deploy') {
            when { branch 'master' }