Patch 시스템 개발
2026년 1월 25일210#Git #Nas #Synology +3

유니티 Launcher를 만들었다.
장기적 목표인 모션캡처 프로그램 패키징화의 첫 발자국으로, 커밋부터 빌드, 패치 생성, 배포까지 모든 과정을 자동화하였다. 드디어 짜증나는 재배포를 안 할 수 있지 않을까
https://assetstore.unity.com/packages/tools/utilities/patch-updating-system-plus-46639
요 에셋을 기반으로 작업하였다.
구축한 파이프라인은 다음과 같다.
Git Push/Tag -> Gitlab Webhook -> Jenkins Start -> Unity Build -> Create Patch -> Creat Patch Note -> Upload Nginx Server -> Discord Webhook
Launcher Start -> Launcher Check/Update(Compare with Nginx Server) -> Client Check/Update(Compare with Nginx Server) -> Client Start
각 단계는 이어져 있어 개발자는 푸시만 하면 되도록 하였다.
태그 기반 빌드

태그를 푸시하면 빌드를 트리거하도록 하였다. FM은 브랜치 관리이겠다만, 브랜치를 관리할 정도로 플젝 규모가 크지도 않다.
유니티 6에서부터 Build Profiles 기능이 새로 생겨서 조금 더 수월하게 세팅할 수 있었던 듯 하다.
```csharp
private static BuildProfile LoadBuildProfile(string path)
{
var profile = AssetDatabase.LoadAssetAtPath<BuildProfile>(path);
return profile;
}
private static void ExecuteBuildWithProfile(BuildProfile profile, string outputPath, string buildName)
{
var options = new BuildPlayerWithProfileOptions
{
buildProfile = profile,
locationPathName = outputPath,
options = GetBuildOptions()
};
var report = BuildPipeline.BuildPlayer(options);
HandleBuildResult(report, buildName);
}
```
패치노트
Git 태그와 커밋 내역을 분석해 패치노트를 자동으로 생성한다.
생성된 패치노트는 Json 형태로 저장하여, nginx 서버에 배포 파일과 같이 업로드, 런처 프로그램이 읽어서 표시해주는 방식이다
이번에 구축한 파이프라인은 개발부터 배포까지 전반적인 워크플로우 자체를 손보는 데 초점을 두었다.
커밋 → 빌드 → 패치 → 배포 과정이 매번 손으로 이루어지다 보니, 작업 흐름이 자주 끊기고 불필요한 재작업이 반복되는 구조였다. 그래서 이번에는 “푸시만 하면 끝나는 구조”를 만드는 것을 목표로 파이프라인을 구성했다.

특히 만족스러운 부분은 패치노트 자동 생성이다.
별도로 문서를 작성할 필요 없이, Git 커밋 메시지만 잘 작성해두면 빌드 과정에서 패치노트가 함께 생성되도록 구성했다. 생각보다 체감이 큰 편의 기능이다.
이 구조를 기반으로 다른 프로젝트에도 점진적으로 확장해 나갈 생각이다.
한 번 만들어 두면 계속 써먹을 수 있는 쪽이 훨씬 낫다.
태그
#Git#Nas#Synology#Unity#VCS#DevOps
관련 포스트
Unity 카테고리의 다른 글

Unity MCP 개발기
MCP 도구를 새로 만들 때마다 에디터에 불꽃 파티클을 띄워 눈으로 확인했다. 안 보이는 파티클, 블룸에 날아간 형체를 거쳐 궤적이 살아나기까지의 기록.
2026년 8월 12일#unity

DMX 개발기 - 볼류메트릭
다시 좀 만져보고 있다. 최근에 큰 인사이트를 얻은 뒤로 개선이 많이 된 듯 하다
2026년 7월 20일

Unity의 Metallic은 무엇일까?
유니티에서 Metallic 값은 빛의 난반사(비금속)와 정반사(금속) 비율을 조절하며, 0은 난반사, 1은 정반사에 가깝다. Metallic 값에 따라 Lightmap/Probe(난반사)와 Reflection Probe/Environment Reflection(정반사)의 영향력이 달라지며, 최종 간접광은 이들의 조합으로 계산된다.
2026년 1월 19일#Unity