빌드 업로드

개요

게임 클라이언트/서버, 에셋번들, 패치정보(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

    • 접근정보

버전 정의

서버, 클라이언트, 작업 정의 파일 등 패치 정보는 환경과 버전을 기준으로 생명주기를 관리 합니다. 스토리지에 업로드 하시는 빌드는 환경 정보와 버전 정보를 포함하여 그룹으로 업로드 부탁 드립니다.

빌드 업로드 디랙토리 구조 샘플

.
├── 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        

Last updated