27 lines
1.5 KiB
Groovy
27 lines
1.5 KiB
Groovy
def call (Map config = [:]) {
|
|
echo "--> 预览开始"
|
|
def appId = config.appId // 小程序appId
|
|
def page = config.page // 小程序预览页面路径
|
|
def pageQuery = config.pageQuery // 小程序预览页面路径启动参数
|
|
def robot = config.robot // ci机器人(1-30)处理预览缓存问题
|
|
def branch = config.branch // 项目构建分支
|
|
def deployEnv = config.deployEnv // 项目构建环境
|
|
|
|
def workspace = pwd() // 工作区地址
|
|
def privatePath = "${workspace}/wx.${appId}.key" // 小程序秘钥地址
|
|
def projectPath = "${workspace}/dist/build/mp-weixin" // 项目地址
|
|
def artifactPath = "output/preview_${env.BUILD_NUMBER}.png" // 预览图片归档地址, 用于预览
|
|
def outPath = "${workspace}/${artifactPath}" // 预览图片生成地址
|
|
// 预览逻辑
|
|
sh """
|
|
mkdir -p output
|
|
npm install miniprogram-ci@2.0.10 --save-dev --registry=https://registry.npmmirror.com
|
|
node ./.ci/preview.js APPID=${appId} PROJECT_PATH=${projectPath} PRIVATE_KEY_PATH=${privatePath} PAGE=${page} PAGE_QUERY=${pageQuery} OUTPUT_PATH=${outPath} ROBOT=${robot}
|
|
"""
|
|
archiveArtifacts artifacts: artifactPath, fingerprint: true
|
|
def previewPath = "https://yourciwebsite.com/job/${env.JOB_NAME}/${env.BUILD_NUMBER}/artifact/${artifactPath}"
|
|
currentBuild.description = """
|
|
<p>扫描我测试</p><p><img src="${previewPath}" alt="二维码" width="150" height="150" /></p><p>分支: ${branch},环境: ${deployEnv},机器人: ${robot}</p>
|
|
"""
|
|
echo "--> 预览成功"
|
|
} |