Files
pipeline-scripts/h5_jenkins

74 lines
2.8 KiB
Plaintext
Raw Normal View History

2024-10-31 11:20:04 +08:00
pipeline {
agent any
parameters {
string(name: 'pid', defaultValue: '', description: '定制方案的Id')
string(name: 'dist', defaultValue: '', description: '部署路径')
}
stages {
stage('拉取代码') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: '*/devops']],
2024-10-31 11:20:04 +08:00
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']]
2024-10-31 11:20:04 +08:00
])
}
}
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'
}
}
2024-10-31 11:20:04 +08:00
stage('打包') {
steps {
echo "正在打包的工程==>: ${params.pid}"
sh "npm i"
2024-10-31 12:07:25 +08:00
sh "node bin/pages.js ${params.pid}&&npm run build"
2024-10-31 11:20:04 +08:00
}
}
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.'
}
}
}