Git Product home page Git Product logo

multi-version-control-action's Introduction

안드로이드 다중 버전 관리

여러 빌드 환경을 가지고 있는 안드로이드 프로젝트의 경우, 빌드 환경별 VersionCode와 VersionName을 관리해야 하는 경우가 있습니다. 이 액션을 이용하면 원하는 빌드 환경(최대 4개까지 지원)의 버전을 선택해 관리할 수 있습니다.

기본적으로 VersionName은 SemVer를 따라 major.minor.patch.revision의 형태로 관리하는 경우에 이 액션을 사용할 수 있으며, pull request에서 label을 이용하여 버전 증가를 원하는 빌드 환경을 선택하고 major, minor, patch, revision 중 어떠한 버전을 증가시킬지 선택할 수 있습니다.

VersionCode의 경우, 선택한 빌드 스테이지의 VersionCode가 1씩 증가하는 형태로 액션이 동작합니다.

사용법

- name: Execute action
  id: bump_version
  uses: Seungmin-develop/[email protected]
  with:
    version_file_path: "./version.gradle"
    pr_labels: ${{ steps.pr-labels.outputs.labels }}
    version_name_dev: "version_name_test_dev"
    version_name_stg: "version_name_test_stg"
    version_name_prod: "version_name_test_prod"
    version_code_dev: "version_code_test_dev"
    version_code_stg: "version_code_test_stg"
    version_code_prod: "version_code_test_prod"

입력값

version_file_path(필수)

버전들이 정의되어 있는 파일의 경로입니다.
ex) app/version.gradle

pr_labels(필수)

pull request에 지정된 label들을 문자열로 나타낸 것 입니다.
인식 가능한 label의 종류는 dev, stg, prod, bump revision, bump patch, bump minor, bump major 입니다. 어떤 빌드 환경을 선택할 지와 어떤 버전을 증가하고 싶은지 label을 통해 결정해야 합니다.
이 때, label 내부에 있는 띄어쓰기는 '-'로 연결되어야 하고, label 끼리는 공백으로 구분되어야 합니다. (추후 업데이트 예정)
ex) "dev bump-major"

version_name_dev/stg/prod(선택)

프로젝트 내에서 사용 중인 versionName의 변수명을 입력합니다. 빌드 환경이 1개인 경우 dev, 2개인 경우 dev, stg, 3개인 경우 dev, stg, prod에 입력하면 됩니다.
ex) "version_name_test_dev"

version_code_dev/stg/prod(선택)

프로젝트 내에서 사용 중인 versionCode의 변수명을 입력합니다. 빌드 환경이 1개인 경우 dev, 2개인 경우 dev, stg, 3개인 경우 dev, stg, prod에 입력하면 됩니다.
ex) "version_code_test_dev"

출력값

current_version_name

선택한 빌드 환경의 버전 증가하기 전 버전 네임을 출력합니다.
ex) ${{ steps.bump_version.outputs.current_version_name }}

current_version_code

선택한 빌드 환경의 버전 증가하기 전 버전 코드를 출력합니다.
ex) ${{ steps.bump_version.outputs.current_version_code }}

next_version_name

선택한 빌드 환경의 버전 증가 후 버전 네임을 출력합니다.
ex) ${{ steps.bump_version.outputs.next_version_name }}

next_version_code

선택한 빌드 환경의 버전 증가 후 버전 코드을 출력합니다.
ex) ${{ steps.bump_version.outputs.next_version_code }}

multi-version-control-action's People

Contributors

peter-j0y avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.