pipeline { agent any parameters { string(name: 'pid', defaultValue: '', description: '定制方案的Id') string(name: 'dist', defaultValue: '', description: '部署路径') } stages { stage('拉取代码') { steps { checkout([ $class: 'GitSCM', branches: [[name: '*/devops']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_wxcp_app.git',credentialsId:'b42f8b48-95a4-4039-ae51-b1dff06d943b']] ]) } } stage('合并'){ steps{ echo '代码合并...' sh 'git config --global user.name "jenkins"' sh 'git config --global user.email "aixianling@sinoecare.com"' sh 'git merge origin/dev --no-ff' } } stage('打包') { steps { echo "正在打包的工程==>: ${params.pid}" sh "npm i" sh "node bin/pages.js ${params.pid}&&npm run build" } } stage('部署') { steps { echo 'Deploying...' sh "tar -zcvf ${params.pid}.tar.gz -C dist/build/h5 ." sshPublisher(publishers: [sshPublisherDesc(configName: 'dev87', transfers: [sshTransfer( sourceFiles: "${params.pid}.tar.gz", execCommand: "cd /home/deploy/node_deploy/zips&& ls -l|grep ${params.pid}&& tar -zxvf ${params.pid}.tar.gz -C ${params.dist} && rm -rf ${params.pid}.tar.gz", remoteDirectory: 'zips') ], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: true)]) } } } post{ success { script{ echo 'Deployment finished successfully.' def currentTime = new Date().format('yyyy-MM-dd HH:mm:ss', TimeZone.getTimeZone('Asia/Shanghai')) sh """ curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1e734bc6-ab12-4272-8b15-cf92cb070f5b' \\ -H 'Content-Type: application/json' \\ -d '{ "msgtype": "markdown", "markdown": { "content": ">构建结果:H5打包完成!\\n >完成时间:${currentTime}\\n >构建时间:${currentBuild.durationString}" } }' """ } } failure { echo 'Deployment failed.' } } }