[Jenkins] Firebase 연결 후, 빌드하기

이준영·2026년 1월 13일

빌드하기

  • Firebase 연결 후 Jenkins로 빌드할 때, 수동으로 연결을 해줘야한다.

BuildScript 수정

BuildScript
  • EditorApplication.ExecuteMenuItem()은 Unity Editor의 옵션을 실행해 주는 역할을 한다.
실행하는 옵션
  • 이 기능을 사용하기 위해서는 플랫폼이 Android로 스위치 되어야 한다.

  • 해서 GenericBuild() 메서드 안에 플랫폼이 스위치 된 후 작동되게 하였다.

발생한 문제

Github LFS 문제

Jenkins와 관련없다고 할 수 있지만, 나의 경우는 SCM과 연동해서 사용하고 있기 때문에 파일이 올라가지 않는 것은 큰 문제다.

Github LFS

  • Github LFS는 100MB가 넘는 파일들을 올릴 수 있는 기능이다.
  • 다만 무료 계정은 2GB까지만 지원하기 때문에 주의가 필요하다.
  • 하지만 난 실수로 2GB를 넘게 사용해 버린 적이 있어서 이제 사용하지 못하는 기능이다.

발생한 문제

  • Firebase의 기능을 사용하기 위해선 100MB가 넘는 파일이 두 개 정도 Github에 올려야 되는 상황이었다.

  • 현재 나의 Jenkins 설정은 Github에 올라와 있는 파일을 불러와서 빌드를 진행하기 때문에 LFS 기능을 사용해야 하는 상황이었다.

해결 방법

  • 현재 나는 윈도우 환경이라 .gitignore로 100MB가 넘는 파일들을 제외하고 올린 뒤, 빌드를 하는 Agent 폴더에 직접 복사해서 넣어주기로 했다.
  1. .gitignore 설정하기
.gitignore
  • 그냥 100MB가 넘는 파일이 있는 폴더 안에 있는 파일 중, FirebaseCppApp으로 시작하는 파일들을 제외시켰다.
  1. 복사하기
프로젝트 폴더
JenkinsTest\workspace 폴더
  • 전부 복사해서 넣어주었다.
  1. Jenkinsfile 설정 수정
Jenkinsfile
  • Jenkins 설정으로 빌드 전, SCM에 올라와 있는 상태로 초기화하는 cleanWs()를 사용했다.

  • 빌드 후 생성되는 파일만 삭제하게 설정을 바꿔주었다.

네트워크 보안(TLS) 설정

발생한 문제

  • 젠킨스 서버(또는 Gradle)가 구글이나 메이븐 저장소(Maven Central)에 라이브러리를 받으러 접속할 때, 보안 연결(SSL/TLS) 방식이 서로 맞지 않아 문 앞에서 거절당하는 오류.

  • 최신 서버들은 보안상 TLS 1.2 이상을 요구하는데, 현재 빌드 환경의 Java가 낮은 버전의 프로토콜을 사용하려고 하기 때문에 발생함.

해결 방법

  • 이 오류가 가장 오래 걸렸는데, 해결 방법은 간단했다.

  • 분명 작년에 다운 받은 거 같은 JDK 11을 최신 버전 JDK 11로 업데이트하면 된다.

  • 어이가 없네.

JDK 다운 후 경로 변경
  • Unity 경로, Jenkinsfile 경로 다 수정해 주면 된다.

파일 경로 길이 문제

발생한 오류 중에 Windows 라서 가장 서러웠던 문제다.

발생한 문제

  • Firebase를 넣으면서 ERROR:AAPT: C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-3\35ec7d48ec643590c309be4aebc4b2a2\transformed\com.google.android.gms.base: error: 지정된 파일을 찾을 수 없습니다. (2). 이런 오류가 많이 생겼다.

  • Windows는 참조 경로가 260자를 넘어가면 오류가 발생하는데, Firebase를 추가하면서 참조하는 파일의 경로가 너무 길어지면서 문제가 발생한 것이다.

해결 방법

  • BuildScript에 .Gradle의 생성 위치를 변경하는 코드를 추가하였다.
추가한 코드
  • 안드로이드로 빌드 되기 전에 실행하면 된다.
profile
게임 개발자가 되기 위해서 공부하는 중입니다.

0개의 댓글