pipeline {
agent any
stages {
stage("检出") {
steps {
checkout(
[$class: 'GitSCM',
branches: [[name: GIT_BUILD_REF]],
userRemoteConfigs: [[
url: GIT_REPO_URL,
credentialsId: CREDENTIALS_ID
]]]
)
}
}
// 下述演示的过程依赖于模版示例代码内容,您可以根据自己的实际情况调整构建过程
stage('安装依赖') {
steps {
sh "npm install"
}
}
stage('单元测试') {
// 测试框架需要构建环境中预装 Chromium 无头浏览器,在该阶段采用仓库内 Dockerfile 指定的镜像作为测试环境
steps {
sh "npm run test:ci"
// 使用 CODING 插件收集测试报告
junit '*.xml'
}
}
stage('编译') {
steps {
sh "npm run build"
}
}
stage('上传到 COS Bucket') {
steps {
// 配置 COS 信息
sh "coscmd config -a ${COS_SECRET_ID} -s ${COS_SECRET_KEY} -b ${COS_BUCKET_NAME} -r ${COS_BUCKET_REGION}"
// 在此处填写编译构建生成的文件所在路径,这些文件会被上传到 COS Bucket
sh "coscmd upload -r ${COS_UPLOAD_FROM_PATH} /"
// 若您开启了 COS 静态网站,也可以直接访问 https://${COS_BUCKET_NAME}.cos-website.${COS_BUCKET_REGION}.myqcloud.com
// 您可以通过开启 COS 静态网站功能并配置重定向规则实现部署带有路由功能的 SPA,更多内容请参考 https://cloud.tencent.com/document/product/436/32670
echo "上传成功,访问 https://${COS_BUCKET_NAME}.cos-website.${COS_BUCKET_REGION}.myqcloud.com 预览效果"
echo "您也可以访问原域名 https://${COS_BUCKET_NAME}.cos.${COS_BUCKET_REGION}.myqcloud.com/index.html 预览效果"
}
}
}
}