pipeline { agent any environment { BUILD_USER = "" REMOTE_PATH = "/mnt/datadisk/prod/jenkins" BUILD_FILE = "libs.tar.gz" ROBOT_ID = "a346e21b-706e-4881-8e3b-6c48d16d0c3b" SSH_AUTH = "ECS-CooleShow-47.98.131.38-pre" } stages { stage('build param') { steps { wrap([$class: 'BuildUser']) { script { BUILD_USER = "${env.BUILD_USER}" } } echo "${BUILD_USER}" } } stage('build job') { steps { // 构建项目 sh 'mvn clean package' // 打包Jar包 sh " \ rm -rf ./libs && mkdir libs \ && cp service.md \ cooleshow-user/user-admin/target/user-admin.jar \ audio-analysis/target/audio-analysis.jar \ cooleshow-auth/auth-server/target/auth-server.jar \ cooleshow-bbs/target/cooleshow-bbs.jar \ cooleshow-user/user-classroom/target/user-classroom.jar \ cooleshow-cms/target/cooleshow-cms.jar \ cooleshow-gateway/gateway-web/target/gateway-web.jar \ cooleshow-mall/mall-admin/target/mall-admin.jar \ cooleshow-mall/mall-portal/target/mall-portal.jar \ cooleshow-user/user-student/target/user-student.jar \ cooleshow-task/target/cooleshow-task.jar \ cooleshow-user/user-teacher/target/user-teacher.jar \ cooleshow-user/user-website/target/user-website.jar \ cooleshow-websocket/target/cooleshow-websocket.jar \ libs/ \ && tar -zcf ${BUILD_FILE} libs/ \ " } } stage('deploy job') { steps { sshPublisher(publishers: [sshPublisherDesc(configName: "${SSH_AUTH}", transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: "cd ${REMOTE_PATH} && ./jenkins-server.sh > jenkins.log", execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: "${REMOTE_PATH}", remoteDirectorySDF: false, removePrefix: '', sourceFiles: '**/*.tar.gz')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)]) } } stage('clean job') { steps { sh "rm -rf ./libs && rm -f ${BUILD_FILE}" } } } post { success { dingtalk ( robot: "a346e21b-706e-4881-8e3b-6c48d16d0c3b", type:'ACTION_CARD', atAll: false, title: "构建成功:${env.JOB_NAME}", //messageUrl: 'xxxx', text: [ "### [${env.JOB_NAME}](${env.JOB_URL}) ", '---', "- 任务:[${currentBuild.displayName}](${env.BUILD_URL})", '- 状态:成功', "- 持续时间:${currentBuild.durationString}".split("and counting")[0], "- 执行人:${BUILD_USER}", ] ) } failure{ dingtalk ( robot: "a346e21b-706e-4881-8e3b-6c48d16d0c3b", type:'ACTION_CARD', atAll: false, title: "构建失败:${env.JOB_NAME}", //messageUrl: 'xxxx', text: [ "### [${env.JOB_NAME}](${env.JOB_URL}) ", '---', "- 任务:[${currentBuild.displayName}](${env.BUILD_URL})", '- 状态:失败', "- 持续时间:${currentBuild.durationString}".split("and counting")[0], "- 执行人:${BUILD_USER}", ] ) } } }