본문 바로가기
CI/CD

GitLab을 이용한 앱 자동 빌드 및 배포

GitLab으로 무료로 나만의 CI/CD 파이프라인을 구축하고, main 브랜치에 push할 때마다 Ionic Capacitor JS 앱을 배포하세요.

GitLab Capgo를 활용한 앱 자동 빌드 및 배포

이 글에서는 GitLab으로 CI/CD 파이프라인을 설정하는 방법을 안내합니다.

서문

먼저 Capacitor 앱을 Capgo에 추가했는지 확인하세요. 이 튜토리얼은 upload 단계만 다룹니다. Capgo에 앱을 추가해야 한다면 이 가이드를 참고하세요. 튜토리얼.

커밋 컨벤션

먼저 커밋 컨벤션을 준수해야 합니다. conventional commits` 이 방식을 사용하면 툴이 버전 번호를 어떻게 업그레이드할지 이해하는 데 도움이 됩니다. 배우는 데 5분도 걸리지 않습니다.

Conventional commits

Tag를 위한 GitLab CI/CD

GitLab 저장소 루트에 다음 내용을 포함한 .gitlab-ci.yml 파일을 생성하세요.

 stages:
      - tag

 bump_version:
   stage: tag
   only:
     - main
  except:
    variables:
  - $CI_COMMIT_MESSAGE =~ /^chore\(release\):/
  script:
   - git config --global user.email "gitlab@yourdomain.com"
   - git config --global user.name "GitLab CI/CD"
   - git checkout $CI_COMMIT_REF_NAME
   - git pull origin $CI_COMMIT_REF_NAME
   - npx capacitor-standard-version
   - git push origin $CI_COMMIT_REF_NAME --tags

“gitlab@yourdomain.com”와 “GitLab CI/CD”를 스크립트 섹션에서 본인의 GitLab 이메일과 사용자 이름으로 변경하세요. 이 설정은 main 브랜치에 push할 때만 작업을 트리거하며, “chore(release):”로 시작하는 커밋은 제외합니다.

Build를 위한 GitLab CI/CD

.gitlab-ci.yml 파일에 build를 위한 stage를 추가하세요:

    stages:
      - deploy

   deploy:
     stage: deploy
     only:
       - tags  # This job will only run for tag pushes
     script:
       - apt-get update -qy && apt-get install -y nodejs npm
       - npm install -g @capgo/cli
       - npm ci
       - npm run build
       - npx @capgo/cli bundle upload -a $CAPGO_TOKEN -c production
     variables:
       FIREBASE_CONFIG: $FIREBASE_CONFIG  # Define this in your GitLab project settings
     environment:
       name: production

GitLab 프로젝트의 CI/CD 변수에 Capgo API 키 (CAPGO_TOKEN)가 추가되어 있는지 확인하세요. GitLab 프로젝트의 Settings > CI/CD > Variables로 이동하여, API 키 값을 CAPGO_TOKEN이라는 이름의 변수로 추가하면 됩니다.

npm run build 명령어를 변경하는 등, 프로젝트의 빌드 프로세스에 맞춰 빌드 스크립트를 커스텀하세요.

마치며

드디어 여기까지 왔네요! 기술적 여정에서 한 걸음 더 나아갔습니다. 현대 소프트웨어 개발에서 CI/CD는 필수 고려 사항입니다. 이 가이드가 여러분께 큰 도움이 되기를 바랍니다.

GitLab을 이용한 앱 자동 빌드 및 배포 단계 계속하기

사용 중이라면 GitLab을 이용한 앱 자동 빌드 및 배포 CI/CD 자동화를 계획하려면, 다음을 연결하세요 Capgo CI/CD 설정하기 Capgo CI/CD의 제품 워크플로우용, Capgo Native Build Capgo Native Builds의 제품 워크플로우용, Capgo 연동 서비스 Capgo Integrations의 제품 워크플로우용, CI/CD 통합 CI/CD Integration의 구현 세부 사항은, 그리고 GitHub Actions 연동 GitHub Actions Integration의 구현 세부 사항을 참고하세요.

Capacitor 앱용 Live updates

웹 레이어 버그가 라이브 상태라면, 앱 스토어 승인을 며칠씩 기다리지 말고 Capgo를 통해 수정 사항을 배포하세요. 네이티브 변경 사항은 정상 리뷰 절차를 그대로 따르는 반면, 사용자는 백그라운드에서 업데이트를 받습니다.

블로그 최신 글

Capgo는 정말 프로페셔널한 모바일 앱을 만드는 데 필요한 최고의 인사이트를 제공합니다.