빌드 업로드
개요
게임 클라이언트/서버, 에셋번들, 패치정보(DB/인프라/설정)등을 개발팀에서 업로드 하는 방법을 정리합니다.
빌드는 특정 시점(버전)에 필요한 모든 컨텐츠로 구성되어 셋트로 배포가 될 수 있어야 합니다.
업로드 방식
게임서버 / 웹 애플리케이션 빌드
Docker 레지스트리
서버 빌드가 Docker Image로 구성되어 있는 경우 제공 해 드리는 Docker 레지스트리에 빌드를 업로드 하실 수 있습니다. 다만, 빌드 버전의 일관성을 위해 되도록 Immutable Tag를 활성화 하며, Latest를 별도로 관리하지 않습니다.
- 개발팀 확인 요청 항목
- 레지스트리 목록 (애플리케이션 별 다른 Registry를 사용하는 경우)
- 버전 정의
- 전달 항목
- 레지스트리 URL
- 접근정보
- Push 가이드
Binary Package
서버 애플리케이션의 바이너리를 직접 전달 하시는 경우 제공 해 드리는 스토리지에 애플리케이션 바이너리와 각종 패키지 정보 파일을 업로드 하실 수 있습니다.
- 개발팀 확인 요청 항목
- 패키지 목록
- 버전 정보
- 전달 항목
- 스토리지 (S3 Bucket) Endpoint
- 접근정보
클라이언트 빌드
클라이언트 빌드는 애플리케이션과 에셋번들을 구분하여 제공 해 드리는 스토리지에 업로드 하실 수 있습니다.
- 개발팀 확인 요청 항목
- 버전 정보
- 전달 항목
- 스토리지 (S3 Bucket) Endpoint
- 접근정보
작업 정의 파일
DB 패치나 설정 정보의 변경등을 위한 작업 정의 파일(SQL Query, Script, Diff, 등)은 제공해 드리는 스토리지에 업로드 하실 수 있습니다.
- 개발팀 확인 요청 항목
- 버전 정보
- 전달 항목
- 스토리지 (S3 Bucket) Endpoint
- 접근정보
메타 정보 파일
게임 데이터를 기반으로 한 로그분석/BI/퍼블리싱 유저 서비스 등에서 인게임 정보와 같은 정보를 표시 하기 위해 필요한 아이템 정보나 다국어 스트링과 같은 게임 메타 정보 파일을 업로드 하실 수 있습니다. 일반적으로 xlsx, json, csv 등 표준 데이터 형식의 파일 형태를 사전에 협의 합니다.
- 개발팀 확인 요청 항목
- 버전 정보
- 전달 항목
- 스토리지 (S3 Bucket) Endpoint
- 접근정보
버전 정의
서버, 클라이언트, 작업 정의 파일 등 패치 정보는 환경과 버전을 기준으로 생명주기를 관리 합니다. 스토리지에 업로드 하시는 빌드는 환경 정보와 버전 정보를 포함하여 그룹으로 업로드 부탁 드립니다.
빌드 업로드 디랙토리 구조 샘플
// TODO: Manual review - had fullWidth or overflow attributes
```bash
.
├── common # 모든 환경에 공통의 적용되어야 하는 파일들
│ ├── init_install # [예시] 설치되어야할 패키지
│ └── script # [예시] 실행 스크립트
├── prod # PROD 환경의 빌드 (추가 환경이 필요할 경우 prod와 같이 최상위 경로에 환경 값을 추가 함)
│ ├── client # PROD 환경의 클라이언트 빌드 - 하위는 폴더는 빌드번호
│ │ ├── 20240527 # [예시] 빌드번호 (임시로 날짜로 기재하였으며, 특별한 사유가 없다면 개발사의 방식을 따라감)
│ │ │ ├── app # 애플리케이션 업로드 경로
│ │ │ └── asset # 에셋 업로드 경로
│ │ ├── 20240531
│ │ │ ├── app
│ │ │ └── asset
│ │ └── 20240604
│ │ ├── app
│ │ └── asset
│ ├── db # PROD 환경의 DB 빌드 - 하위는 폴더는 빌드번호
│ │ ├── 20240527 # [예시] 빌드번호 (임시로 날짜로 기재하였으며, 특별한 사유가 없다면 개발사의 방식을 따라감)
│ │ ├── 20240531
│ │ └── 20240604
│ ├── others # PROD 환경에 사용될 기타 파일들
│ │ └── script # [예시] 목적에 따라 경로를 구분
│ ├── server # PROD 환경의 서버 빌드
│ │ ├── 20240527 # [예시] 빌드번호 (임시로 날짜로 기재하였으며, 특별한 사유가 없다면 개발사의 방식을 따라감)
│ │ ├── 20240531
│ │ └── 20240604
│ └── meta # 아이템 정보나 다국어 스트링과 같은 게임 메타 정보 파일
│ ├── 20240527 # [예시] 빌드번호 (임시로 날짜로 기재하였으며, 특별한 사유가 없다면 개발사의 방식을 따라감)
│ ├── 20240531
│ └── 20240604
└── qa1 # QA1 환경의 빌드 (추가 환경이 필요할 경우 qa1과 같이 최상위 경로에 환경 값을 추가 함)
├── client # QA1 환경의 클라이언트 빌드
│ ├── 20240527 # [예시] 빌드번호 (임시로 날짜로 기재하였으며, 특별한 사유가 없다면 개발사의 방식을 따라감)
│ │ ├── app # 애플리케이션 업로드 경로
│ │ └── asset # 에셋 업로드 경로
│ ├── 20240531
│ │ ├── app
│ │ └── asset
│ └── 20240604
│ ├── app
│ └── asset
├── db # QA1 환경의 DB 빌드
│ ├── 20240527 # [예시] 빌드번호 (임시로 날짜로 기재하였으며, 특별한 사유가 없다면 개발사의 방식을 따라감)
│ ├── 20240531
│ └── 20240604
├── others # QA1 환경에 사용될 기타 파일들
│ └── script # [예시] 목적에 따라 경로를 구분
├── server # QA1 환경의 서버 빌드
│ ├── 20240527 # [예시] 빌드번호 (임시로 날짜로 기재하였으며, 특별한 사유가 없다면 개발사의 방식을 따라감)
│ ├── 20240531
│ └── 20240604
└── meta # 아이템 정보나 다국어 스트링과 같은 게임 메타 정보 파일
├── 20240527 # [예시] 빌드번호 (임시로 날짜로 기재하였으며, 특별한 사유가 없다면 개발사의 방식을 따라감)
├── 20240531
└── 20240604