千家信息网

jenkins-pipeline-dataengine1.0-CI

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,#!groovytimestamps {group_id = "enn.cn.encdata"artifact_id = "dataengine1.0"version = ""packaging =
千家信息网最后更新 2024年11月18日jenkins-pipeline-dataengine1.0-CI

#!groovy
timestamps {

group_id = "enn.cn.encdata"
artifact_id = "dataengine1.0"
version = ""
packaging = "tar.gz"
artifact_description = "dataengine1.0 artifacts"
group_id_path = group_id.replaceAll("\.", "/")
nexus_encdata_ci_url = "http://101.139.139.153:38090/service/local/repositories/encdata-ci/content"

node{
remote_rootdir = WORKSPACE.replaceAll("/workspace/${JOB_BASE_NAME}", "")

stage("CheckOut dataengine1.0") {    git_repo_url = "ssh://git@101.139.139.318:12020/${repo_name}"    //checkout([$class: 'GitSCM', branches: [[name: "*/${branch_name}"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: "${working_dir}"], [$class: 'CheckoutOption', timeout: 100]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'gitlab-10.7.0', url: "${git_repo_url}"]]])    //checkout([$class: 'GitSCM', branches: [[name: "*/${branch_name}"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: "${working_dir}"], [$class: 'CheckoutOption', timeout: 100]], submoduleCfg: [], userRemoteConfigs: [[url: "${git_repo_url}"]]])    sh """if [ -d ${working_dir}/.git ]; then        cd ${working_dir};        current_branch=\$(git branch |sed -e "s/\\* //g");        if [ \"\${current_branch}\" != \"${branch_name}\" ]; then            git checkout -f .;            git checkout -b ${branch_name};            git pull ${git_repo_url} ${branch_name};        else            git checkout -f .;            git pull ${git_repo_url} ${branch_name};        fi        else        git clone ${git_repo_url} -b ${branch_name} ${working_dir};    fi"""}stage("Build dataengine1.0") {    sh "cd ${working_dir} && pwd && cd dataengine-parent && mvn clean compile package -DskipTests=true"    //sh "cd ${working_dir} && cd 03src/61updatesvr/updateapp/prj_linux64_ubuntu && make clean && make DEBUG:=1"    //sh "cd ${working_dir} && cp ${remote_rootdir}/server/mvsapp 01bin/deployment/MVS.Server/update_3.0.1.x && cp ${remote_rootdir}/server/WatchDog.out 01bin/deployment/MVS.Server/update_3.0.1.x && cp -rf 01bin/algorithmconfig 01bin/deployment/MVS.Server/update_3.0.1.x && cd 01bin/deployment/MVS.Server/update_3.0.1.x && DATE=\$(date) && sed -i \"s/3.x.x.x/${product_version}/g\" config.xml && sed -i \"s/3.x.x.x/${product_version}/g\" update.xml && sed -i \"s/mvs_compile_date/\${DATE}/g\" update.xml"    //sh "cd ${working_dir} && cd 01bin/deployment/MVS.Server && cp -rf update_3.0.1.x update_${product_version} && rm -rf update_3.0.1.x"    //sh "cd ${working_dir} && cd 01bin/deployment && rm -rf MVS_*_Server && rm -f MVS_*_Server.zip && mkdir MVS_${product_version}_Server && cp -rf MVS.Server/* MVS_${product_version}_Server"}stage("SonarQube analysis") {    sh "cd ${working_dir} && cd dataengine-parent && mvn sonar:sonar -Dsonar.projectKey=dataengine1.0 -Dsonar.host.url=http://101.139.139.153:19000 -Dsonar.login=2f878304a05ab656bce3e9fd0fe948f7eefbd6d4"    //sh "cd ${working_dir} && cd proxy-gateway && mvn -B -Dmaven.test.skip=true clean package"}stage("Release NexusOSS") {    //sh "cd ${working_dir} && pwd && cd dataengine-core/target && mvn deploy:deploy-file -DgroupId=com.encdata -DartifactId=dataengine -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -Dfile=/data/jenkins/workspace/pipeline-dataengine1.0-CI/dataengine1.0/dataengine-core/target/data-engine.jar -Durl=http://101.139.139.153:88090/nexus/content/repositories/snapshots/ -DrepositoryId=snapshots"    //sh "cd ${working_dir} && cd proxy-gateway && mvn -B -Dmaven.test.skip=true clean package"}stage("Release Tests") {    //sh "cd ${working_dir} && pwd && cd dataengine-core/target && scp data-engine.jar root@101.119.146.100:/mnt/data/deploy/scmdeploy"    //sh "cd ${working_dir} && pwd && mvn deploy:deploy-file -DgroupId=com.encdata -DartifactId=web-bcm -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/data/jenkins/workspace/build-BASE-COMPONENTS-CI/BASE-COMPONENTS/target/web-bcm.jar -Durl=http://101.139.139.153:88090/nexus/content/repositories/snapshots/ -DrepositoryId=snapshots"    //sh "cd ${working_dir} && cd proxy-gateway && mvn -B -Dmaven.test.skip=true clean package"}stage("Deploy 131") {    //sh "cd ${working_dir} && pwd && cd dataengine-core/target && scp data-engine.jar root@101.119.151.131:/mnt/data/deploy/scmdeploy"    //sh "cd ${working_dir} && pwd && mvn deploy:deploy-file -DgroupId=com.encdata -DartifactId=web-bcm -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/data/jenkins/workspace/build-BASE-COMPONENTS-CI/BASE-COMPONENTS/target/web-bcm.jar -Durl=http://101.139.139.153:88090/nexus/content/repositories/snapshots/ -DrepositoryId=snapshots"    //sh "cd ${working_dir} && cd proxy-gateway && mvn -B -Dmaven.test.skip=true clean package"}stage("Deploy 141") {    //sh "cd ${working_dir} && pwd && cd dataengine-core/target && scp data-engine.jar root@101.119.151.141:/mnt/data/deploy/scmdeploy"    //sh "cd ${working_dir} && pwd && mvn deploy:deploy-file -DgroupId=com.encdata -DartifactId=web-bcm -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/data/jenkins/workspace/build-BASE-COMPONENTS-CI/BASE-COMPONENTS/target/web-bcm.jar -Durl=http://101.139.139.153:88090/nexus/content/repositories/snapshots/ -DrepositoryId=snapshots"    //sh "cd ${working_dir} && cd proxy-gateway && mvn -B -Dmaven.test.skip=true clean package"}stage("Send mail") {    sh "mail bcc: '', body: 'Here is the content.', cc: 'yinjigang@encdata.cn', from: '', replyTo: '', subject: 'subject', to: 'yinjigang@encdata.cn'"    //sh "cd ${working_dir} && pwd && mvn deploy:deploy-file -DgroupId=com.encdata -DartifactId=web-bcm -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/data/jenkins/workspace/build-BASE-COMPONENTS-CI/BASE-COMPONENTS/target/web-bcm.jar -Durl=http://101.139.139.153:88090/nexus/content/repositories/snapshots/ -DrepositoryId=snapshots"    //sh "cd ${working_dir} && cd proxy-gateway && mvn -B -Dmaven.test.skip=true clean package"}/*stage("Upload artifact") {    version = sh (        script: 'date +%Y%m%d-%H%M%S',        returnStdout: true    ).trim()    sh "cd ${working_dir} && cd 01bin/deployment && is_exist_file=\$(ls ${artifact_id}*.${packaging} |wc -l) && if [ \${is_exist_file} -ne 0 ]; then rm -f ${artifact_id}*.${packaging}; fi"    sh "cd ${working_dir} && cd 01bin/deployment && tar -czvf ${artifact_id}-${version}.${packaging} MVS_${product_version}_Server"    sh "cd ${working_dir} && cd 01bin/deployment && mv ${artifact_id}-${version}.${packaging} /tmp/ && /usr/bin/python ${remote_rootdir}/artifact_pull_push.py -g ${group_id} -a ${artifact_id} -v ${version} -p ${packaging} -P true -d '${artifact_description}'"}*//*stage("jira issue") {    if (issue_id != "") {        withEnv(['JIRA_SITE=jira-7.8.9']) {            echo "issue_id: ${issue_id}"            //def fields = jiraGetFields idOrKey: "${issue_id}"            //echo issue.data.toString()            def issue = jiraGetIssue idOrKey: "${issue_id}"            issue_type = issue.data.fields.issuetype.name            issue_type_id = issue.data.fields.issuetype.id            issue_status = issue.data.fields.status.name            //echo issue.data.fields.issuetype.name            //echo issue.data.fields.status.name            if (issue_type == "任务" && issue_status == "已分配") {                def transitionInput = [transition: [id: '71']]  // accept                response = jiraTransitionIssue idOrKey: "${issue_id}", input: transitionInput                echo response.successful.toString()                echo response.data.toString()            } else if (issue_type == "缺陷" && issue_status == "已分配") {                def transitionInput = [transition: [id: '71']]  // confirm                response = jiraTransitionIssue idOrKey: "${issue_id}", input: transitionInput                echo response.successful.toString()                echo response.data.toString()            } else {                echo "当前 Issue 状态为:${issue_status}, 状态不作更新!"            }            // add artifact download link            nexus_artifact_url = nexus_encdata_ci_url + "/" + group_id_path + "/" + artifact_id + "/" + version + "/" + artifact_id+"-"+version+"."+packaging            //jiraAddComment idOrKey: "${issue_id}", comment: "发布包下载:${nexus_artifact_url}"            project_key = issue_id.replaceAll("-.*", "")            echo "project_key: ${project_key}"            def project = jiraGetProject idOrKey: "${project_key}"            //echo project.data.toString()            project_id = project.data.id.toString()            def editIssue = [fields: [ project: [id: "${project_id}"],                             customfield_10200: "${nexus_artifact_url}",                             customfield_10201: ["${product_version}"],                             issuetype: [id: "${issue_type_id}"]]]            response = jiraEditIssue idOrKey: "${issue_id}", issue: editIssue            issue_edit_response = response.successful.toString()            echo "issue edit response: ${issue_edit_response}"        }    }}*/

}

}

0