Perfecto Jenkins 插件提供在构建环境中自动创建/重用现有 Perfecto Connect tunnel-id 的能力。

你可以提供高级选项,例如 Perfecto Connect 附加参数、覆盖 Tunnel ID 名称和现有 Tunnel ID。


import groovy.json.JsonSlurperClassic
import groovy.json.JsonSlurper
node {
String cloudName = "<<CLOUD NAME e.g. demo>>";
String securityToken = "<<SECURITY TOKEN>>";
String perfectoConnectPath = "/Users/myMac/Downloads/perfectoconnect";
environment {
tunnelId = ""
}
stage('perfectoconnect start'){
if(cloudName.contains("<<")){
error "Kindly update cloudName, securityToken and perfectoConnectPath"
}
String script = perfectoConnectPath + " start -c " + cloudName + ".perfectomobile.com -s " + securityToken;
echo script;
tunnelId = sh (script: script , returnStdout: true).trim()
env.tunnelId = "${tunnelId}"
}
stage('script'){
echo "Tunnel id: ${tunnelId}"
}
stage('perfectoconnect stop'){
sh label: '', returnStdout: true, script: perfectoConnectPath + " stop"
}
}
按照 此文档 使用 curl 上传应用到 Perfecto 媒体仓库。