메인 콘텐츠로 건너뛰기
CI/CD

Gitlab을 이용한 자동 빌드 및 릴리즈

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

마틴 도나디우

마틴 도나디우

콘텐츠 마케터

Gitlab을 이용한 자동 빌드 및 릴리즈

This tutorial은 GitLab CI에 초점을 맞추고 있지만, 다른 CI/CD 플랫폼에适용하기 위해 약간의 조정을 하면 사용할 수 있습니다.

소개

앱을 Capgo에 먼저 등록했는지 확인하세요. 이 튜토리얼은 업로드 단계만 다룹니다.

커밋 규칙

첫 번째로 커밋 규칙을 따라야 합니다. 기술효과`이것은 도구가 버전 번호를 업그레이드하는 방법을 이해하는 데 도움이 될 것입니다. 5분 만에 배울 수 있습니다.

기술효과

GitLab CI for 태그

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

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

이 내용으로:

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.md.

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

이것을 작동시키기 위해 개인 접근 토큰을 생성하세요. 개인 접근 토큰 및 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_KEEP_0__에서 변경할 수 있습니다. build_code 이 작업을 완료하려면 __CAPGO_KEEP_1__의 __CAPGO_KEEP_0__ 키를 가져와 __CAPGO_KEEP_0__ 저장소의 비밀에 추가해야 합니다.

To make this work, you need to get your API key for Capgo, add it in the Commit을 추가하면 GitHub의 프로덕션 채널에 새로운 빌드를 생성합니다. 빌드 단계에서 __CAPGO_KEEP_0__이 작동하는지 테스트를 추가해야 합니다. CAPGO_TOKEN.

GitHub 대시보드로 이동하여 빌드가 생성된 것을 확인하고, CI/CD 시스템을 구축했습니다.

To make this work, you need to get your __CAPGO_KEEP_0__ key for __CAPGO_KEEP_1__, add it in the secret of your __CAPGO_KEEP_0__ repository

You should add your test in the build step to ensure your code is working.

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

업데이트가 언제든지 사용할 수 있도록 하려면, public.

Gitlab 자동 빌드 및 릴리스

Gitlab 자동 빌드 및 릴리스를 사용하는 경우, Gitlab 자동 빌드 및 릴리스 __CAPGO_KEEP_0__ CI/CD Capgo CI/CD에서 제품 워크플로우를 위해 Capgo Native Builds Capgo Native Builds에서 제품 워크플로우를 위해 Capgo Integrations Capgo Integrations에서 제품 워크플로우를 위해 for the product workflow in Capgo Integrations, CI/CD 통합 CI/CD 통합 구현 세부 사항과 GitHub 액션 통합 GitHub 액션 통합 구현 세부 사항과

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

웹-layer 버그가 활성화되면 Capgo을 통해 픽스를 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 말고, 사용자는 배경에서 업데이트를 받으면서 네이티브 변경은 일반적인 검토 경로를 유지합니다.

__CAPGO_KEEP_0__에서 인간 지원

시작하기

최신 뉴스

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