반응형
이번에는 Jenkins를 통해 PC, 안드로이드로 뽑아보는 것을 정리해볼 것이다.
1. Jenkins 설정
이전 글에서 세팅한 프로젝트의 구성으로 가보자!
다른 블로그를 보면 빌드 후 조치 부분에 새로운 플러그인을 받아 진행하였다
하지만 나는 다른 방법으로 진행해보려 한다
(* 해봤는데 내가 못따라 하는 것인지 .. 잘안되서;; ㅎㅎㅎ )
구성에 들어가보면 Build Steps이 존재하는데
여기서 Add bild step을 클릭!!
Command 부분에 해당 문구를 입력
@echo off
echo "Build Start"
cd '프로젝트의 위치'
echo "현재 디렉토리: %cd%"
"...Editor/2022.3.37f1/Editor/Unity.exe" -batchmode -quit -projectPath
"%cd%" -executeMethod 'Unity Editor에 있는 스크립트명.메서드명'
-logFile 'log파일을 넣을 위치'
if exist "Unity Editor 코드에서 exe파일 저장 위치" (
echo "PC Build SUCCESS"
) else (
echo "PC Build FAIL"
exit /b 1
)
if exist "Unity Editor 코드에서 apk파일 저장 위치" (
echo "Android Build SUCCESS"
exit /b 0
) else (
echo "Android Build FAIL"
exit /b 1
)
2. Unity 설정
Jenkins에서 빌드한 프로젝트에 Asset/Editor에 스크립트 생성
-executeMethod 'Unity Editor에 있는 스크립트명.메서드명'
=> -executeMethod 'A.B' 이런 식으로 사용
public class A
{
public static void B()
{
BuildWindows();
BuildAndroid();
}
//[MenuItem("Build/Build All Platforms %&b")]
public static void BuildWindows()
{
string[] scenes = { "Assets/Scenes/SampleScene.unity" };
string buildPath = "저장할 위치";
BuildPipeline.BuildPlayer(scenes, buildPath, BuildTarget.StandaloneWindows64, BuildOptions.None);
}
[MenuItem("Build/Build All Platforms %&b")]
public static void BuildAndroid()
{
string[] scenes = { "Assets/Scenes/SampleScene.unity" };
string buildPath = "저장할 위치";
BuildReport report = BuildPipeline.BuildPlayer(scenes, buildPath, BuildTarget.Android, BuildOptions.None);
if (report.summary.result == BuildResult.Succeeded)
{
Console.WriteLine("Android Build Complete: " + buildPath);
}
else
{
Console.WriteLine("Android Build Failed");
foreach (var step in report.steps)
{
foreach (var message in step.messages)
{
Console.WriteLine($"{message.type}: {message.content}");
}
}
}
}
}
3. 결과 확인
PC와 apk가 뽑힌 것을 확인할 수 있다!
반응형
'형상관리' 카테고리의 다른 글
[GItHub] 깃허브 CI/CD 구축하기 (0) | 2025.02.11 |
---|---|
[SourceTree] remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. (0) | 2024.12.29 |
Gitlab과 Jenkins로 CI/CD 구축 (2) (0) | 2024.08.05 |
Gitlab과 Jenkins로 CI/CD 구축 (1) (0) | 2024.08.05 |