InfoGrab Docs

튜토리얼: GitLab Mobile DevOps로 iOS 앱 빌드

요약

이 튜토리얼에서는 GitLab CI/CD를 사용하여 iOS 모바일 앱을 빌드하고, 자격 증명으로 서명하고, 앱 스토어에 배포하는 파이프라인을 만들 것입니다. Mobile DevOps를 설정하려면: 이 튜토리얼을 시작하기 전에 다음이 있는지 확인하세요:

이 튜토리얼에서는 GitLab CI/CD를 사용하여 iOS 모바일 앱을 빌드하고, 자격 증명으로 서명하고, 앱 스토어에 배포하는 파이프라인을 만들 것입니다.

Mobile DevOps를 설정하려면:

  1. 빌드 환경 설정
  2. fastlane으로 코드 서명 구성
  3. Apple Store 통합 및 fastlane으로 앱 배포 설정

시작하기 전에#

이 튜토리얼을 시작하기 전에 다음이 있는지 확인하세요:

  • CI/CD 파이프라인에 액세스할 수 있는 GitLab 계정
  • GitLab 리포지터리에 있는 모바일 앱 코드
  • Apple Developer 계정
  • 로컬에 설치된 fastlane

빌드 환경 설정#

빌드 환경을 완전히 제어하려면 GitLab 호스팅 러너를 사용하거나 self-managed 러너를 설정하세요.

  1. 리포지터리 루트에 .gitlab-ci.yml 파일을 만듭니다.

  2. macOS GitLab 호스팅 러너(베타)에서 job을 실행하기 위해 지원되는 macOS 이미지를 추가합니다:

    test:
      image: macos-14-xcode-15
      stage: test
      script:
        - fastlane test
      tags:
        - saas-macos-medium-m1
    

fastlane으로 코드 서명 구성#

iOS 코드 서명을 설정하려면 fastlane을 사용하여 서명된 인증서를 GitLab에 업로드합니다:

  1. fastlane을 초기화합니다:

    fastlane init
    
  2. 구성으로 Matchfile을 생성합니다:

    fastlane match init
    
  3. Apple Developer 포털에서 인증서와 프로필을 생성하고 해당 파일을 GitLab에 업로드합니다:

    PRIVATE_TOKEN=YOUR-TOKEN bundle exec fastlane match development
    
  4. 선택 사항. 프로젝트에 대한 서명 인증서와 프로비저닝 프로필을 이미 만든 경우 fastlane match import를 사용하여 기존 파일을 GitLab에 로드합니다:

    PRIVATE_TOKEN=YOUR-TOKEN bundle exec fastlane match import
    

파일 경로를 입력하라는 메시지가 표시됩니다. 해당 세부 정보를 제공하면 파일이 업로드되어 프로젝트의 CI/CD 설정에서 볼 수 있습니다. 가져오기 중에 git_url을 입력하라는 메시지가 표시되면 비워두고 Enter를 누르는 것이 안전합니다.

다음은 이 구성이 포함된 fastlane/Fastfile.gitlab-ci.yml 파일의 샘플입니다:

  • fastlane/Fastfile:

    default_platform(:ios)
    
    platform :ios do
      desc "Build and sign the application for development"
      lane :build do
        setup_ci
    
        match(type: 'development', readonly: is_ci)
    
        build_app(
          project: "ios demo.xcodeproj",
          scheme: "ios demo",
          configuration: "Debug",
          export_method: "development"
        )
      end
    end
    
  • .gitlab-ci.yml:

    build_ios:
      image: macos-12-xcode-14
      stage: build
      script:
        - fastlane build
      tags:
        - saas-macos-medium-m1
    

Apple Store 통합 및 fastlane으로 앱 배포 설정#

Mobile DevOps 배포 통합을 사용하여 서명된 빌드를 Apple App Store에 업로드할 수 있습니다.

필수 요건:

  • Apple Developer Program에 등록된 Apple ID가 있어야 합니다.
  • Apple App Store Connect 포털에서 프로젝트에 대한 새 개인 키를 생성해야 합니다.

Apple Store 통합 및 fastlane으로 iOS 배포를 만들려면:

  1. App Store Connect API에 대한 API 키를 생성합니다. Apple App Store Connect 포털에서 프로젝트에 대한 새 개인 키를 생성합니다.
  2. Apple App Store Connect 통합을 활성화합니다:
    1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
    2. 설정 > 통합을 선택합니다.
    3. Apple App Store Connect를 선택합니다.
    4. 통합 활성화 아래에서 활성 체크박스를 선택합니다.
    5. Apple App Store Connect 구성 정보를 제공합니다:
      • 발급자 ID: Apple App Store Connect 발급자 ID.
      • 키 ID: 생성된 개인 키의 키 ID.
      • 개인 키: 생성된 개인 키. 이 키는 한 번만 다운로드할 수 있습니다.
      • 보호된 브랜치 및 태그만: 보호된 브랜치 및 태그에만 변수를 설정하도록 활성화합니다.
    6. 변경 사항 저장을 선택합니다.
  3. 파이프라인 및 fastlane 구성에 릴리스 단계를 추가합니다.

다음은 샘플 fastlane/Fastfile입니다:

default_platform(:ios)

platform :ios do
  desc "Build and sign the application for distribution, upload to TestFlight"
  lane :beta do
    setup_ci

    match(type: 'appstore', readonly: is_ci)

    app_store_connect_api_key

    increment_build_number(
      build_number: latest_testflight_build_number(initial_build_number: 1) + 1,
      xcodeproj: "ios demo.xcodeproj"
    )

    build_app(
      project: "ios demo.xcodeproj",
      scheme: "ios demo",
      configuration: "Release",
      export_method: "app-store"
    )

    upload_to_testflight
  end
end

다음은 샘플 .gitlab-ci.yml입니다:

beta_ios:
  image: macos-12-xcode-14
  stage: beta
  script:
    - fastlane beta

축하합니다! 이제 앱이 자동화된 빌드, 서명 및 배포를 위해 설정되었습니다. 머지 리퀘스트를 만들어 첫 번째 파이프라인을 트리거해 보세요.

샘플 프로젝트#

빌드, 서명 및 모바일 앱 릴리스를 위해 구성된 파이프라인이 있는 샘플 Mobile DevOps 프로젝트를 다음에서 사용할 수 있습니다:

  • Android
  • Flutter
  • iOS

Mobile DevOps 데모 프로젝트 그룹에서 모든 프로젝트를 봅니다.

튜토리얼: GitLab Mobile DevOps로 iOS 앱 빌드

원문 보기
요약

이 튜토리얼에서는 GitLab CI/CD를 사용하여 iOS 모바일 앱을 빌드하고, 자격 증명으로 서명하고, 앱 스토어에 배포하는 파이프라인을 만들 것입니다. Mobile DevOps를 설정하려면: 이 튜토리얼을 시작하기 전에 다음이 있는지 확인하세요:

이 튜토리얼에서는 GitLab CI/CD를 사용하여 iOS 모바일 앱을 빌드하고, 자격 증명으로 서명하고, 앱 스토어에 배포하는 파이프라인을 만들 것입니다.

Mobile DevOps를 설정하려면:

  1. 빌드 환경 설정
  2. fastlane으로 코드 서명 구성
  3. Apple Store 통합 및 fastlane으로 앱 배포 설정

시작하기 전에#

이 튜토리얼을 시작하기 전에 다음이 있는지 확인하세요:

  • CI/CD 파이프라인에 액세스할 수 있는 GitLab 계정
  • GitLab 리포지터리에 있는 모바일 앱 코드
  • Apple Developer 계정
  • 로컬에 설치된 fastlane

빌드 환경 설정#

빌드 환경을 완전히 제어하려면 GitLab 호스팅 러너를 사용하거나 self-managed 러너를 설정하세요.

  1. 리포지터리 루트에 .gitlab-ci.yml 파일을 만듭니다.

  2. macOS GitLab 호스팅 러너(베타)에서 job을 실행하기 위해 지원되는 macOS 이미지를 추가합니다:

    test:
      image: macos-14-xcode-15
      stage: test
      script:
        - fastlane test
      tags:
        - saas-macos-medium-m1
    

fastlane으로 코드 서명 구성#

iOS 코드 서명을 설정하려면 fastlane을 사용하여 서명된 인증서를 GitLab에 업로드합니다:

  1. fastlane을 초기화합니다:

    fastlane init
    
  2. 구성으로 Matchfile을 생성합니다:

    fastlane match init
    
  3. Apple Developer 포털에서 인증서와 프로필을 생성하고 해당 파일을 GitLab에 업로드합니다:

    PRIVATE_TOKEN=YOUR-TOKEN bundle exec fastlane match development
    
  4. 선택 사항. 프로젝트에 대한 서명 인증서와 프로비저닝 프로필을 이미 만든 경우 fastlane match import를 사용하여 기존 파일을 GitLab에 로드합니다:

    PRIVATE_TOKEN=YOUR-TOKEN bundle exec fastlane match import
    

파일 경로를 입력하라는 메시지가 표시됩니다. 해당 세부 정보를 제공하면 파일이 업로드되어 프로젝트의 CI/CD 설정에서 볼 수 있습니다. 가져오기 중에 git_url을 입력하라는 메시지가 표시되면 비워두고 Enter를 누르는 것이 안전합니다.

다음은 이 구성이 포함된 fastlane/Fastfile.gitlab-ci.yml 파일의 샘플입니다:

  • fastlane/Fastfile:

    default_platform(:ios)
    
    platform :ios do
      desc "Build and sign the application for development"
      lane :build do
        setup_ci
    
        match(type: 'development', readonly: is_ci)
    
        build_app(
          project: "ios demo.xcodeproj",
          scheme: "ios demo",
          configuration: "Debug",
          export_method: "development"
        )
      end
    end
    
  • .gitlab-ci.yml:

    build_ios:
      image: macos-12-xcode-14
      stage: build
      script:
        - fastlane build
      tags:
        - saas-macos-medium-m1
    

Apple Store 통합 및 fastlane으로 앱 배포 설정#

Mobile DevOps 배포 통합을 사용하여 서명된 빌드를 Apple App Store에 업로드할 수 있습니다.

필수 요건:

  • Apple Developer Program에 등록된 Apple ID가 있어야 합니다.
  • Apple App Store Connect 포털에서 프로젝트에 대한 새 개인 키를 생성해야 합니다.

Apple Store 통합 및 fastlane으로 iOS 배포를 만들려면:

  1. App Store Connect API에 대한 API 키를 생성합니다. Apple App Store Connect 포털에서 프로젝트에 대한 새 개인 키를 생성합니다.
  2. Apple App Store Connect 통합을 활성화합니다:
    1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
    2. 설정 > 통합을 선택합니다.
    3. Apple App Store Connect를 선택합니다.
    4. 통합 활성화 아래에서 활성 체크박스를 선택합니다.
    5. Apple App Store Connect 구성 정보를 제공합니다:
      • 발급자 ID: Apple App Store Connect 발급자 ID.
      • 키 ID: 생성된 개인 키의 키 ID.
      • 개인 키: 생성된 개인 키. 이 키는 한 번만 다운로드할 수 있습니다.
      • 보호된 브랜치 및 태그만: 보호된 브랜치 및 태그에만 변수를 설정하도록 활성화합니다.
    6. 변경 사항 저장을 선택합니다.
  3. 파이프라인 및 fastlane 구성에 릴리스 단계를 추가합니다.

다음은 샘플 fastlane/Fastfile입니다:

default_platform(:ios)

platform :ios do
  desc "Build and sign the application for distribution, upload to TestFlight"
  lane :beta do
    setup_ci

    match(type: 'appstore', readonly: is_ci)

    app_store_connect_api_key

    increment_build_number(
      build_number: latest_testflight_build_number(initial_build_number: 1) + 1,
      xcodeproj: "ios demo.xcodeproj"
    )

    build_app(
      project: "ios demo.xcodeproj",
      scheme: "ios demo",
      configuration: "Release",
      export_method: "app-store"
    )

    upload_to_testflight
  end
end

다음은 샘플 .gitlab-ci.yml입니다:

beta_ios:
  image: macos-12-xcode-14
  stage: beta
  script:
    - fastlane beta

축하합니다! 이제 앱이 자동화된 빌드, 서명 및 배포를 위해 설정되었습니다. 머지 리퀘스트를 만들어 첫 번째 파이프라인을 트리거해 보세요.

샘플 프로젝트#

빌드, 서명 및 모바일 앱 릴리스를 위해 구성된 파이프라인이 있는 샘플 Mobile DevOps 프로젝트를 다음에서 사용할 수 있습니다:

  • Android
  • Flutter
  • iOS

Mobile DevOps 데모 프로젝트 그룹에서 모든 프로젝트를 봅니다.