메인 콘텐츠로 바로가기
CI/CD

Gitlab을 사용하여 자동 빌드 및 릴리즈

Gitlab을 무료로 사용하여 main에 푸시할 때마다 앱을 배포하는 CI/CD pipeline을 생성하세요.

마틴 도나디우

마틴 도나디우

콘텐츠 마케터

Gitlab CI에 중점을 둔 이 튜토리얼은 다른 CI/CD 플랫폼에도 쉽게 적용할 수 있습니다.

소개

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

Be sure you added your app first to Capgo, this tutorial just focuses on the upload phase

자동 빌드 및 릴리즈

먼저 커밋 규칙을 따라야 합니다. conventional commits` 이 명령어를 사용하면 도구가 버전 번호를 업그레이드하는 방법을 이해할 수 있습니다. 5분 만에 배울 수 있습니다.

Conventional commits

GitLab CI for tag

그 다음 GitLab CI를 사용하여 자동으로 빌드하고 태그를 생성하세요.

Create a file at this path: .github/workflows/bump_version.yml

with this content:

name: Bump version

on:
  push:
    branches:
      - main

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
        run: npx capacitor-standard-version
      - 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의 모든 커밋에 대한 태그를 릴리즈하고 메인 branch의 모든 커밋에 대한 changelog 항목을 추가합니다. CHANGELOG.md.

이 파일이 없더라도 걱정하지 마세요. 이 파일은 자동으로 생성됩니다.

이 기능을 사용하려면 개인 접근 토큰을 생성하세요. PERSONAL ACCESS TOKEN GitLab CI/CD 변수에 추가하세요. PERSONAL_ACCESS_TOKEN.

CI가 변경 로그를 제출할 수 있도록 하기 위해 필요합니다.

토큰을 생성할 때 만료 기간을 선택하세요. never 범위는 repo.

버전이 저장된 위치를 이해하도록 도구를 허용하기 위해, 저장소의 루트에 파일을 생성해야 합니다. .cz.toml 내용을 추가하세요:

버전을 이 파일에 설정하세요. 저장소의

[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$major.$minor.$patch$prerelease"
version = "0.11.5"
version_files = [
    "package.json:version",
    ".cz.toml"
]

파일에 있는 버전과 동일한 버전을 사용하세요. package.json 첫 번째 경우에만 필요합니다. 이후 도구는 자동으로 최신 버전을 유지합니다.

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

GitHub 빌드 액션

GitHub

Create a file at this path: .github/workflows/build.yml

with this content:

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 run build
        env: # Remove both lines  if you don't need it
          FIREBASE_CONFIG: ${{ secrets.FIREBASE_CONFIG }} # Example of env var coming from a secret
      - name: Create Release
        id: create_release
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

이 파일을 Capgo로 전송하기 전에 Capgo 의 종속성을 설치하고 빌드합니다.

만약 빌드 명령어가 다르다면 __CAPGO_KEEP_0__ 에서 변경할 수 있습니다. build_code 이 작업을 완료하려면 __CAPGO_KEEP_1__ 에서 __CAPGO_KEEP_0__ 키를 가져와 __CAPGO_KEEP_0__ 저장소의 __CAPGO_KEEP_0__ 비밀을 추가해야 합니다.

To make this work, you need to get your API key for Capgo, add it in the GitHub에 이 두 파일을 모두 커밋하고 GitHub에서 첫 번째 태그가 나타날 수 있습니다. 커밋을 추가하면 __CAPGO_KEEP_0__의 프로덕션 채널에 새로운 빌드를 생성합니다. CAPGO_TOKEN.

GitHub의 테스트를 빌드 단계에 추가하여 GitHub이 올바르게 작동하는지 확인해야 합니다.

__CAPGO_KEEP_0__ 대시보드로 이동하여 빌드가 나타났는지 확인하고 CI/CD 시스템을 구축했습니다.

code 대시보드로 이동하여 빌드가 나타났는지 확인하고 CI/CD 시스템을 구축했습니다.

Capgo 대시보드로 이동하여 빌드가 나타났는지 확인하고 CI/CD 시스템을 구축했습니다.

업데이트가 언제든지 사용할 수 있도록 하려면, 채널로 이동하여 설정을 public.

Gitlab의 자동 빌드 및 릴리즈에서 계속 진행하세요.

만약 Gitlab의 자동 빌드 및 릴리즈 를 사용하여 CI/CD 자동화 계획을 세우고자 한다면, Capgo CI/CD for the product workflow in Capgo CI/CD, Capgo CI/CD for the product workflow in Capgo Native Builds, Capgo Native Builds for the product workflow in Capgo Integrations, __CAPGO_KEEP_0__ Native Builds CI/CD 통합 구현 세부 사항과 GitHub 액션 통합 CI/CD 통합 구현 세부 사항과 GitHub 액션 통합

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

웹层 버그가 활성화된 경우, 앱 스토어 승인 대기 없이 Capgo를 통해 패치를 배포하세요. 사용자는 배경에서 업데이트를 받으며, 네이티브 변경 사항은 일반적인 검토 경로에 남아 있습니다.

시작하기

블로그에서 최신 소식

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