Code sigining & OS X keychain options - Automatic sigining 설정
Advanced Xcode build options
Xcode Workspace File - 유니티에서 iOS 빌드를 통해 Xcode Project 생성시 만약 Pod Project가 포함되어 있다면, 이 항목에 Unity-iPhone 를 입력한다. 특이한 점은 경로 모두 제외하고 이름만 입력하면 되는데 경로는 아래 항목인 Xcode Project Directory에서 참조하거나 Jenkins의 job 저장소에서 참조하기 때문이다
Xcode Project Directory - 유니티에서 빌드된 Xcode Project의 경로를 설정해준다
환경변수 (Global Environment Variables)
jenkins 에서는 동일한 값의 중복사용을 방지하고자 C# 의 static 변수처럼 미리 Key, Value를 설정해놓고 항목이나 script에서 이를 참조할 수 있는데 이때 사용하는 형식이 ${변수} 형태이다
또한 아래에서 설명하겠지만 job 별로 parameter 값을 입력받아 내부에서 접근할 수 있는데 이때에도 {변수}형태를 쓰면 된다
환경변수 설정은
Manage Jenkins
Configure System
Global properties
Environment Variables 체크 -> Add 클릭 -> Key, Value 설정
전달변수 (Parameter)
job 은 실행시에 값을 입력받을 수 있는데 이를 Parameters 라 한다job 설정 부분에서 This project is parameterized 를 체크하면 여러 Parameter형태를 등록할 수 있는데 Name 란에 입력된 값은 Build Step 단계에서 ${Name}으로 접근할 수 있고, 하나라도 Parameter가 있으면 job 선택시에 왼쪽 메뉴에 Build with Parameters 메뉴가 활성화된다
이를 선택하면 Parameter 형태에 따라 입력필드가 생기는데 기본 종류에 더해 플러그인을 통해 Parameter 타입을 추가할 수도 있다
Pipeline Script
이렇게 위에서 구성한 Job들을 통해 빌드를 진행하는데, XR 프로젝트처럼 여러 job이 연쇄적으로 실행되어 최종 결과물을 뽑아야 할 경우를 대비해 Jenkins는pipeline 을 제공하고 pipeline은 별도의 script를 통해 이러한 job들을 생성, 관리 할 수 있다.
Jenkins 의 plugin 페이지에 제공되지 않는 비공식 플러그인이 필요할때가 있다. Google Drive Upload 가 그 예인데, Manage Plugin 페이지에는 없지만 github나 오픈소스 사이트에 Jenkins 플러그인이 있다면, 우리는 직접 이 프로젝트를 빌드해서 Jenkins에서 사용해야 한다
Jenkins의 모든 plugin은 Maven 이라는 아파치의 자바용 프로젝트 관리 도구로 만드는데, 이를 사용하기 위해서는 command 창을 열어 사이트에서 받은 소스중pom.xml 이 있는 root 폴더로 이동한 뒤에 오픈소스 사이트의 README.md 나 가이드 문서에 나온대로 명렁어를 실행하면 된다. (mvn clean 이나 mvn compile, mvn test 등..)