Node 실행하기
각 노드의 이름을 클릭해보면 시스템에 맞는 Agent 실행 커맨드라인이 보인다.
java -jar agent.jar -url http://127.0.0.1:8080/ -secret 2ab17036e507d3d852b6d245dde21f6817ce35e4fc0582484d85124b29392edd -name "Windows-x64" -workDir "E:\Jenkins"
URL을 본인 상황에 맞게 바꿔서 터미널에 입력해주면 Connected가 뜨며 웹 UI상 빌드 실행 상태가 "대기중"으로 바뀐다.
프로젝트 설정하기
새로운 아이템 - FreeStyle Project
General에 "이 빌드는 매개변수가 있습니다" 클릭 후 매개변수 추가
Label 선택 후 Node에서 설정한 라벨을 순차적으로 입력한다.
소스 코드 관리에서 Git 체크 후 Gitea 프로젝트 경로를 입력한다.
빌드 유발에 Github hook trigger for GITScm polling을 체크한다.
BuildSteps에서 Add Build Step 클릭 후 Invoke Unity3d Editor 추가
-quit -batchmode -logFile "$WORKSPACE/Jenkins-Build-Result.log" -buildTarget $BUILD_TARGET -projectPath "$WORKSPACE" -executeMethod $EXECUTE_METHOD
WORKSPACE, BUILD TARGET, EXECUTE METHOD은 환경 변수에 맞춰서 자동으로 치환된다.
Gitea 웹훅 설정
Gitea 프로젝트 설정 - 웹훅 항목에 들어간 후
Webhook 추가 - Gitea 클릭
젠킨스 URL + 포트 입력 후 path로 github-webhook/ 을 입력한다
예시)
http://192.168.0.10:8080/github-webhook/
주의할 점은 path 뒤에 슬래시를 꼭 붙여주어야 한다.
이유인 즉슨, 슬래시 없이 http://url:port/github-webhook 로만 입력하면 뒤에 슬래시를 자동으로 붙여 redirect 시키기 때문에, 200이 아닌 302 응답만 받게 되어 실패로 간주된다.
트리거는 일단은 푸시 이벤트로 넣고, 추후 PR이 들어오면 해당 브랜치를 빌드 후 문제가 없으면 Merge하는 식으로 진행 할 예정이다.
이제 git push를 해보면 node들이 순차적으로 빌드를 시작한다.
빌드 후 워크스페이스를 확인해보면 잘 들어가있는 것을 볼 수 있다.
개발용 머신과 빌드머신 총 3개의 기기 인증이 필요한데, 유니티 라이센스 Seat 하나당 총 두대까지만 사용할 수 있기 때문에 일단 윈도우 빌드는 개발용 PC에 에이전트를 실행하고,
추후 라이센스 문제가 해결되면 Windows 머신을 따로 두지 않고 Parallels에 Windows 11과 유니티를 설치해서 맥 하나로 에이전트 둘 모두를 사용할 예정이다.
'ETC > Unity' 카테고리의 다른 글
[Unity] Jenkins, Gitea를 활용해 유니티 자동빌드하기 - 1 - (0) | 2024.05.20 |
---|---|
[Unity/게임수학] 2D 쿼터뷰 공간 Sprite Order (Vector2 수선의 발) (0) | 2024.05.07 |
[C#] The requested operation caused a stack overflow (0) | 2024.04.22 |
[Unity] 2D 쿼터뷰 공간 바닥에 랜덤 스폰하기 (0) | 2024.04.04 |
[Unity] Script에 의존하지 않고 스토리 씬 구현하기 (0) | 2024.03.04 |