Perfecto Jenkins Plugin
Perfecto Jenkins Plugin은 빌드 환경에서 Perfecto Connect 터널 ID를 자동 생성하거나 기존 터널 ID를 재사용할 수 있는 기능을 제공합니다.
목차
전제 조건
- Perfecto Connect 클라이언트를 다운로드하여 아무 폴더에나 압축을 풉니다.
- Perfecto 보안 토큰을 생성합니다(아직 생성하지 않은 경우).
- Mac 사용자는 brew.를 통해 Jenkins를 설치해야 합니다.
1. 플러그인 활성화 단계
- Jenkins 홈페이지에서 New Item을 클릭합니다.
- 원하는 항목 이름을 입력합니다.
- 파이프라인을 제외한 프로젝트 유형을 선택합니다.
- OK를 클릭합니다.
- Build Environment에서 Perfecto Connect 확인란을 선택합니다(스크린샷 섹션 참조).
- 참고: 아래 Perfecto 자격 증명을 생성하려면 Jenkins 관리자의 도움을 받으십시오:
a. Credentials 드롭다운 옆에 있는 Add 옵션을 선택하고 Jenkins를 선택합니다.
b. Add Credentials 창의 Kind 드롭다운에서 "Perfecto" 옵션을 선택합니다.
c. Cloud Name, Username 및 Security Token을 입력하고 Add를 클릭합니다.

- Perfecto Connect Path 텍스트 필드에 Perfecto Connect 경로를 입력합니다.
a. 예: - /Users/Mymac/Downloads
- Perfecto Connect File Name 텍스트 필드에 Perfecto Connect 파일 이름을 입력합니다.
a. 예: - Mac – perfectoconnect
b. 예: - Windows – perfectoconnect64.exe 또는 perfectoconnect32.exe
스크린샷
Mac
Windows
고급 옵션
Perfecto Connect 추가 매개변수, Override Tunnel ID Name, Existing Tunnel ID와 같은 고급 옵션을 제공할 수 있습니다.
- 추가 매개변수
a. bridgeproxyip, bridgeproxyport와 같은 Perfecto Connect 매개변수를 입력합니다.
b. 예: - --bridgeproxyip=127.0.0.1 --bridgeproxyport=8888
- 텍스트 필드의 Override Tunnel ID Name에서 터널 ID 환경 변수 이름을 재정의할 수 있습니다. (기본 Jenkins Build Environment 변수 이름은 tunnelId입니다)
- Existing Tunnel ID 텍스트 필드에서 이미 생성된 터널 ID를 재사용할 수 있습니다.

2. 사용법
Maven 샘플
Gradle 샘플
3. Perfecto Connect 중지 단계
- Post Build Action 아래에 Post Build 작업을 추가합니다.
- Script 텍스트 필드에 아래 스크립트를 입력합니다.

고급 사용법
Perfecto Connect 파이프라인 샘플
- 새 Pipeline을 만들고 아래 코드를 pipeline script 텍스트 필드에 추가합니다.
- 해당하는 경우 cloudName, securityToken 및 perfectoConnectPath를 업데이트합니다.
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"
}
}
perfecto에 앱 업로드
이 문서에 따라 curl을 사용하여 perfecto 미디어 저장소에 앱을 업로드합니다.