메인 콘텐츠로 바로가기
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

CI/CD

__CAPGO_KEEP_0__ __CAPGO_KEEP_1__이러한 규칙을 따라야 하는 커밋을 시작하세요

conventional commits

이러한 규칙을 따라야 하는 커밋

5분 만에 배울 수 있습니다.

Conventional commits .github/workflows/bump_version.yml

GitLab CI for tag

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

그런 다음 GitLab을 생성하여 자동으로 빌드하고 태그를 생성하세요 CHANGELOG.md.

Create a file at this path:

with this content: 이러한 규칙을 따라야 하는 커밋을 시작하세요. 이 파일이 없더라도, 이 파일이 자동으로 생성됩니다. 및 GitLab CI/CD 변수에 추가하세요. PERSONAL_ACCESS_TOKEN.

This is necessary to let the CI changelog를 제출하도록합니다.

When you create the token, expiration을 선택하세요. never 및 scope을 선택하세요. repo.

마지막으로, 버전이 저장된 위치를 이해하도록 도구를 구성하려면, root 디렉토리에서 파일을 생성해야합니다. .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 파일의 버전과 동일해야합니다.

This is only necessary the first time, then the tools will keep it up to date.

You can now commit both files and see your first tag appear in GitHub!

GitHub actions for build

__CAPGO_KEEP_0__ 경로에 파일을 생성하세요: .github/workflows/build.yml

__CAPGO_KEEP_0__ 내용으로:

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_1__에서 'step' 섹션을 수정하세요. build_code __CAPGO_KEEP_0__ 키를 __CAPGO_KEEP_1__에서 발급받아 __CAPGO_KEEP_0__ 저장소의 __CAPGO_KEEP_0__ 비밀을 추가하세요.

API과 Capgo을 모두 커밋하세요. API에서 첫 번째 태그가 나타날 것입니다. GitHub에 커밋을 추가하면 GitHub 빌드 채널에 새로운 빌드를 생성합니다. __CAPGO_KEEP_0__ 테스트를 빌드 단계에 추가하여 __CAPGO_KEEP_0__이 올바르게 작동하는지 확인하세요. CAPGO_TOKEN.

GitHub 대시보드로 이동하여 빌드가 나타났는지 확인하세요. 이제 CI/CD 시스템이 작동합니다.

__CAPGO_KEEP_1__에서 __CAPGO_KEEP_0__ 키를 발급받으세요.

code 저장소의 code 비밀을 추가하세요.

Capgo과 __CAPGO_KEEP_1__을 모두 커밋하세요.

__CAPGO_KEEP_0__ 업데이트를 받을 수 있도록 모든 사용자가 언제든지 업데이트를 받을 수 있도록 하려면 public.

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

__CAPGO_KEEP_0__을 사용 중이라면 Gitlab 자동 빌드 및 릴리스 CI/CD 자동화 계획을 위해 __CAPGO_KEEP_0__ CI/CD와 연결하세요. Capgo CI/CD에서 제품 워크플로우를 위해 Capgo 네이티브 빌드를 사용하세요. Capgo 네이티브 빌드에서 제품 워크플로우를 위해 Capgo 통합을 사용하세요. Capgo 통합에서 제품 워크플로우를 위해 Capgo CI/CD 통합을 사용하세요. CI/CD 통합 CI/CD 통합 구현 세부 사항과 GitHub 액션 통합 for the implementation detail in GitHub Actions Integration.

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

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

시작하기

블로그에서 최신 소식

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