본문으로 건너뛰기
CI/CD

Manage development and production build with GitHub actions

개발 빌드(Capgo)를 특정 채널에 릴리즈하여 팀이 애플리케이션을 테스트할 수 있도록 하세요. 이 과정을 통해 Ionic 애플리케이션(Capacitor)을 Apple과 Google의 리뷰를 기다리지 않고 팀이 테스트할 수 있도록 합니다.

작성 기사

마틴 도나디유

작가

발레리아

리뷰어

조던

편집자

GitHub 빌드 및 배포를 관리하는 방법

이 튜토리얼은 GitHub 호스팅에 초점을 맞추고 있지만, 다른 CI/CD 플랫폼에 적응하기 위해 약간의 조정을 통해 사용할 수 있습니다.

소개

Capacitor 앱을 Capgo에 먼저 추가하십시오. 이 튜토리얼은 업로드 단계만을 다룹니다.

커밋 규칙

커밋 규칙을 따르기 시작하십시오. __CAPGO_KEEP_0____CAPGO_KEEP_0__ 태그

__CAPGO_KEEP_0__

GitHub

그런 다음 첫 번째 GitHub 액션을 자동으로 빌드하고 태그를 생성하기 위해 만들 필요가 있습니다.

다음 경로에 파일을 생성하세요: .github/workflows/bump_version.yml

다음 내용으로:

name: Bump version

on:
  push:
    branches:
      - main
      - development

jobs:
  bump-version:
    if: "!startsWith(github.event.head_commit.message, 'chore(release):')"
    runs-on: ubuntu-latest
    name: "Bump version and create changelog with standard version"
    steps:
      - name: Check out
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
          filter: blob:none
          token: '${{ secrets.PERSONAL_ACCESS_TOKEN }}'
      - name: Git config
        run: |
          git config --local user.name "github-actions[bot]"
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
      - name: Create bump and changelog
        if: github.ref == 'refs/heads/main'
        run: npx capacitor-standard-version
      - name: Create bump and changelog
        if: github.ref != 'refs/heads/main'
        run: npx capacitor-standard-version --prerelease alpha
      - name: Push to origin
        run: |
          CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
          remote_repo="https://${GITHUB_ACTOR}:${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git"
          git pull $remote_repo $CURRENT_BRANCH
          git push $remote_repo HEAD:$CURRENT_BRANCH --follow-tags --tags

이것은 메인 branch의 모든 커밋에 대해 태그를 릴리즈하고, alpha 릴리즈 development, 그리고 마지막으로 커밋의 각 CHANGELOG.md.

에 대한 변경 로그 항목을 릴리즈합니다.

이 파일이 없더라도 걱정하지 마세요. 이 파일은 자동으로 생성됩니다. 이것이 작동하려면 __CAPGO_KEEP_0__의 그리고 그것을 당신의 GitHub에 추가하세요 secrets as PERSONAL_ACCESS_TOKEN.

CI가 변경 로그와 버전 업데이트를 제출할 수 있도록 하기 위해 필요합니다.

CI가 변경 로그와 버전 업데이트를 제출할 수 있도록 하기 위해 필요합니다. never 만료 기간을 선택하세요. repo.

scope을 선택하세요. version key in your package.json 버전 번호를 업데이트하는 데 사용하는 키를 설정하세요.

파일에 키를 설정하세요.

GitHub에서 첫 번째 태그가 나타날 수 있습니다.

capacitor-standard-version 첫 번째 실행 후에는 도구가 자동으로 업데이트하므로 필요하지 않습니다.

이제 두 개의 파일을 커밋하고 첫 번째 태그가 GitHub에 나타날 수 있습니다!

Android와 IOS에서 버전 번호를 자동으로 업데이트하는 패키지입니다. 기본적으로 버전 번호를 업데이트합니다. 또한 __CAPGO_KEEP_0__에서 태그를 업데이트합니다. .github/workflows/build.yml

이 내용과 함께:

name: Build source code and send to Capgo

on:
  push:
    tags:
      - '*'
      
jobs:
  deploy:
    runs-on: ubuntu-latest
    name: "Build code and release"
    steps:
      - name: Check out
        uses: actions/checkout@v6
      - name: Install dependencies
        id: install_code
        run: npm i
      - name: Build
        id: build_code
        run: npm build
        env:
          MY_ENV_VAR: ${{ secrets.MY_ENV_VAR }}
      - name: Create Release Alpha
        if: "contains(github.ref, '-alpha.')"
        id: create_release_prepro
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c development
      - name: Create Release Production
        if: "!contains(github.ref, '-alpha.')"
        id: create_release_prod
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

이것은 당신의 의존성을 설치하고 빌드한 후 Capgo로 전송합니다.

빌드 명령이 다르다면, __CAPGO_KEEP_0__에서 변경할 수 있습니다. build_code step.

환경 변수가 필요하다면 사용하세요 MY_ENV_VAR 그것을 설정하세요 secret GitHub에서 GitHub 키를 추가하세요.

Capgo 업로드를 위해 Capgo 키를 가져와 API 키를 Capgo에 추가해야 합니다. 커밋을 추가하면, 새로운 GitHub 빌드를 GitHub의 개발 및 프로덕션 채널에 생성합니다. as CAPGO_TOKEN.

Capgo에 첫 번째 버전이 나타날 수 있도록 두 파일을 모두 커밋할 수 있습니다.

This will install and build your dependency before sending it to Capacitor.

Ionic 빌드 단계에 테스트를 추가하여 code이 올바르게 작동하는지 확인하세요.

Capgo 대시보드로 이동하여 생성된 빌드를 확인하세요. 이제 CI/CD 시스템이 준비되었습니다.

Manage development and production build with GitHub actions에서 계속 진행하세요.

만약 Manage development and production build with GitHub actions를 사용하여 채널 라우팅과 스테이지드 롤아웃을 계획하고 싶다면 __CAPGO_KEEP_0__을 Channels 채널 __CAPGO_KEEP_0__ 구현 세부 사항 Channels 채널 __CAPGO_KEEP_0__ 구현 세부 사항 Channels 채널 __CAPGO_KEEP_0__ 구현 세부 사항 베타 테스트 솔루션 베타 테스트 솔루션의 제품 워크플로우에 대해 버전 목표 솔루션 버전 목표 솔루션의 제품 워크플로우에 대해

Capacitor 앱에 대한 실시간 업데이트

웹-layer 버그가 실시간으로 살아남으면, 앱 스토어 승인 대기 없이 Capgo를 통해 픽스를 배포하세요. 사용자는 배경에서 업데이트를 받으며, 네이티브 변경 사항은 일반적인 리뷰 경로를 따릅니다.

개발자 지원

시작하기

최신 블로그

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의洞察력을 제공합니다.