오늘은 Jekins를 이용하여 CI/CD 환경을 구축해보겠습니다.
JDK 17를 설치합니다.
Java 17
설치 후 환경변수 등록도 추천합니다.
- 시스템 환경 변수 → JAVA_HOME 새로 추가 (C:\Program Files\Eclipse Adoptium\java17)
- Path에도 추가 (%JAVA_HOME%\bin)
이후 http://localhost:8080에 들어가주시면 됩니다.
저는 이미 8080포트에 사용중이라 8081포트에 접속하였습니다.
이후 나오는 패스워드 입력창에서 C:\Users\name.jenkins\secrets\initialAdminPassword에서 비밀번호 확인 후 입력하시면 됩니다.



using UnityEditor;
using UnityEngine;
using System;
// Unity 에디터에서 빌드 자동화를 위한 스크립트
using System.IO;
using UnityEditor;
using UnityEngine;
using System;
public class BuildScript
{
public static void PerformAndroidBuild()
{
// 0) 출력 폴더 체크
var projectroot = Directory.GetParent(Application.dataPath).FullName;
var outDir = Path.Combine(projectroot, "Builds", "Android");
if (!Directory.Exists(outDir))
Directory.CreateDirectory(outDir);
// 1) 커맨드라인 인자 읽기
string[] args = Environment.GetCommandLineArgs();
string version = GetArg(args, "-appVersion") ?? "1.0.0";
string code = GetArg(args, "-buildCode") ?? "100";
// 2) 번들 버전 설정
PlayerSettings.bundleVersion = version;
PlayerSettings.Android.bundleVersionCode = int.Parse(code);
// 3) APK 경로
string outputPath = Path.Combine(outDir, "MyGame.apk");
// 4) 빌드 실행
var report = BuildPipeline.BuildPlayer(
new[] { "Assets/Scenes/Main.unity" },
outputPath,
BuildTarget.Android,
BuildOptions.None
);
if (report.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded)
throw new Exception("Build failed: " + report.summary.result);
Debug.Log("빌드 성공: " + outputPath);
}
private static string GetArg(string[] args, string name)
{
for (int i = 0; i < args.Length - 1; i++)
if (args[i] == name) return args[i + 1];
return null;
}
}
진행 도중 제 사용자이름이 한글로 되어있어 문제가 발생하였습니다..
빌드 파이프라인에서는 한글이 포함되면 안된다고 하네요. 이를 위해 C\jenkins_ws 라는 폴더를 만들어 대체하려고 작업중이긴 한데.. 아직 문제가 발생하고 있어 이 부분 해결된 뒤 나머지 글 올릴 듯 합니다.
추가되야 하는 내용 : 파이프라인 코드, 슬랙 연동 (빌드 파일 및 주석)