이번에는 유니티 빌드를 깃허브 액션으로 쉽게 자동화 하는 작업을 해보았다.
깃허브 액션 -> 자동빌드 -> 빌드 파일 Nas 업로드 -> Slack에 Nas로 업로드의 과정을 거친다.
CI/CD
CI(Continuous Integration) - 지속적 통합
- 개발자가 작업한 코드를 주기적으로 공유 레포지토리에 병합하는 것을 의미한다.
CD(Continuous Deployment - 지속적 배포 / Continuous Delivery - 지속적 제공)
- 지속적 배포 : 자동화된 테스트를 통과한 코드를 자동으로 프로덕션 환경에 배포하는 것
- 지속적 제공 : 자동화된 테스트를 통과한 코드를 프로덕션 환경에 배포할 준비를 하는 것
CI/CD는 병합 - 자동 테스트 - 빌드 - 테스트 - 빌드 배포 준비 or 배포 까지의 자동화 과정을 의미한다.
프로젝트가 큰 편이라면 유니티에서 빌드를 하는 시간도 상당히 오래 걸리기 때문에 GithubAction에서 버튼을 눌러 빌드를 진행하면서 작업을 계속 할 수도있고,
주기적으로 특정 시간대에 자동 빌드를 돌려놓으면 매일매일 빌드에 문제는 없는지를 확인 할 수 있는 좋은 방법이다.
GithubAction
깃허브 액션이란?
https://docs.github.com/ko/actions/quickstart
깃허브 액션은 CI/CD 기능을 제공하는 깃허브의 서비스다.
젠킨스와 같은 다른 CI/CD 도구를 써도 좋지만, 개인적으로는 많이들 쓰시는 깃허브에 편하게 연결할 수 있다는 점이 깃허브 액션의 이점이라고 생각한다.
가격이 무료는 아니다.
하지만 무료로 월마다 2000분을 주기 때문에 하루에 수십번씩 빌드를 할게 아니라면 무료로 써도 충분하다.
[가격 정보 링크]
Yaml ?
깃허브 액션은 Yaml을 사용한다.
YAML Ain't Markup Language라고 사람이 읽기 쉬운 형식의 데이터 직렬화 언어이다.
json과 비슷하다고 생각하면 편하다.
person:
name: John Doe
age: 30
married: true
children:
- name: Jane Doe
age: 10
- name: Jack Doe
age: 8
Yaml은 이런식으로 표현한다.
파이썬처럼 들여쓰기가 중요하다.
그리고 ' - ' 으로 요소들을 표현한다.
children안에 2개의 요소가 들어있는 것이다.
WorkFlow
일단 깃허브 액션에서 하나하나의 큰 작업을 WorkFlow라고 얘기한다.
즉, 저 3개의 뭉텅이가 하나의 워크플로우다.
워크플로우 안에는 "언제 이 워크플로우를 실행할것인지?" 에 대한 Event가 있고,
병렬적으로 처리가 가능한 Job들이 있고,
Job안에 하나하나의 Step들이 존재한다.
깃허브 액션 문서에서 예제를 가지고 왔다.
워크 플로우의 이름은 GitHub Actions Demo이며,
on을 보면 레포지토리에 Push를 했을때 해당 워크플로우가 실행된다고 나와있다.
(워크플로우 트리거는 여기서 확인 https://docs.github.com/ko/actions/using-workflows/triggering-a-workflow)
그리고 Explore-GitHub-Actions라는 job이 있고, 우분투 환경에서 실행한다.
그 밑에는 하나하나의 Step들이 적혀져있다.
예제 그대로 테스트 해보기
깃허브 액션을 사용하려면 루트/.github/workflows에 yaml파일로 만들어 두어야 한다.
그래야 깃허브 액션에서 인식을 한다.
레포지토리에서 Actions로 들어가서 New WorkFlow를 누르면 여러 양식들이 뜨는데,
아무거나 누르고 들어가서 다 지워주자.
그러면 자동으로 경로를 잡아서 입력하게 해준다.
나는 예제 코드에서 push 를 workflow_dispatch로 바꿔주었다.
workflow_dispatch 는 수동으로 워크플로우를 실행하는 것이다.
다 입력해주고 오른쪽 상단 버튼을 눌러서 커밋을 해준다.
다시 Actions로 들어가면 만들어둔 GitHub Actions Demo가 보인다.
Run WorkFlow를 해보자.
성공적으로 잘 실행 되었다고 나온다.
이제 다음 글에서는 유니티를 빌드해보도록 하겠다.
Github Action으로 Unity 자동 빌드 제작해보기 (CI/CD) - 2편
https://dev-junwoo.tistory.com/149
Github Action으로 Unity 자동 빌드 제작해보기 (CI/CD) - 3편
https://dev-junwoo.tistory.com/150
'게임 엔진 > Unity' 카테고리의 다른 글
Github Action으로 Unity 자동 빌드 제작해보기 (CI/CD) - 3편 (1) | 2024.03.23 |
---|---|
Github Action으로 Unity 자동 빌드 제작해보기 (CI/CD) - 2편 (0) | 2024.03.23 |
고양이 스낵바 블로그 보고 따라하기 - 커스텀 UI & 자동 코드 생성 (1) | 2024.03.04 |
[Unity] Canvas - RenderMode & Scaler (0) | 2023.08.04 |
[Unity 잡학사전] Unity UI 시스템 성능 최적화 (1) | 2023.08.04 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!