Files
pipeline-scripts/web_jenkins

66 lines
2.5 KiB
Plaintext
Raw Normal View History

2024-10-17 15:13:34 +08:00
pipeline {
agent any
parameters {
2024-10-17 15:43:22 +08:00
string(name: 'pid', defaultValue: '', description: '定制方案的Id')
2024-10-17 15:39:01 +08:00
string(name: 'dist', defaultValue: '', description: '部署路径')
2024-10-17 15:13:34 +08:00
}
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_webapp.git',credentialsId:'b42f8b48-95a4-4039-ae51-b1dff06d943b']]
])
}
}
stage('打包') {
steps {
echo "正在打包的工程==>: ${params.pid}"
2024-10-17 15:39:01 +08:00
sh "npm i"
2024-10-17 15:13:34 +08:00
sh "node bin/build.js ${params.pid}&&npm run build"
}
}
stage('部署') {
steps {
echo 'Deploying...'
2024-10-17 17:44:51 +08:00
sh "tar -zcvf ${params.pid}.tar.gz -C dist ."
2024-10-17 15:13:34 +08:00
sshPublisher(publishers: [sshPublisherDesc(configName: 'dev87', transfers: [sshTransfer(
2024-10-17 17:44:51 +08:00
sourceFiles: "${params.pid}.tar.gz",
2024-10-17 17:49:15 +08:00
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",
2024-10-17 15:13:34 +08:00
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": ">构建结果web端打包完成!\\n
>完成时间:${currentTime}\\n
>构建时间:${currentBuild.durationString}"
}
}'
"""
}
}
failure {
echo 'Deployment failed.'
}
}
}