jenkins-pipeline-k3k6d9j-5m5v1s2.0.8-CI

jenkins-pipeline-k3k6d9j-5m5v1s2.0.8-CI

#!groovy
timestamps {

group_id = "bjcn.e22nc66ta"
artifact_id = "mvs"
version = ""
packaging = "tar.gz"
artifact_description = "MVS2.0 artifacts"
group_id_path = group_id.replaceAll("\.", "/")
nexus_encdata_ci_url = ":38090/service/local/repositories/encdata-ci/content"

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

stage("checkout MVS2.0") { git_repo_url = "ssh://git@101.139.139.118:22020/${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 MVS2.0") { sh "cd ${working_dir} && cd 09compile && make clean && make" 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("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}" } } }

}

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读