fastlane을 사용하여 iOS 애플리케이션을 Crashlytics Beta에 업로드

패스트라인으로 베타에 올리고 싶어요.
이번에는 공식 설치 프로그램을 기반으로 한 작업이다.
  • 설정
  • iOS 프로젝트에fastlane(init) 도입
  • Fastfile 편집
  • 실행
  • 공식 페이지 여기서↓
    https://docs.fastlane.tools/getting-started/ios/setup/

    1. 설치


    최신 명령줄 도구 설치


    우선 최신 명령행 도구를 설치합니다.
    $ xcode-select --install
    

    fastrane 설치


    RubbyGems를 사용하는 방법과 Homebrew를 사용하는 방법이 있는 것 같은데 이번에는 RubyGems를 사용하여 설치했습니다.
    # インストール
    $ sudo gem install fastlane -NV
    ...
    Successfully installed fastlane-2.106.2
    53 gems installed
    
    # バージョン確認
    $ fastlane --version
    fastlane installation at path:
    /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.106.2/bin/fastlane
    -----------------------------
    []  
    fastlane 2.106.2
    

    2. iOS 프로젝트에서 fastlane 가져오기


    fastlane 설정을 위해 iOS 프로젝트로 이동합니다.
    # プロジェクトディレクトリに移動
    $ cd {プロジェクトディレクトリ}
    
    # init
    $ fastlane init
    
    실행 후 프로젝트 디렉터리의 바로 아래에 fastlane 디렉터리를 만들었습니다.명령은 Fastfile에 기술되어 있습니다.

    3. Fastfile 편집


    대상 자동 빌드 베타에 >Slack 알림 결과를 업로드할 수 있다고 설명했습니다.
    default_platform(:ios)
    
    platform :ios do
    
      before_all do
        # Gitのステータスチェック
        ensure_git_status_clean
        # pod install
        cocoapods
      end
    
      desc "Crashlytics Betaへのアップロード"
      lane :beta do
        # 最終コミット取得
        commit = last_git_commit
        # Config -> Debug
        configuration = "Debug"
        ENV["GYM_CONFIGURATION"] = configuration
        # AdHoc用プロビジョニングプロファイルの取得
        sigh(
          app_identifier: "xx.xxx.xxxxxx",
          username: "[email protected]",
          force: false,
          adhoc: true
        )
        # アプリのビルド
        build_app(
          clean: true,
          scheme: "xxxxx",
          export_method: "ad-hoc",
          workspace: "xxxxxx.xcworkspace"
        )
        # Betaにアップロード
        crashlytics(
          api_token: "api_token",
          build_secret: "build_secret",
          crashlytics_path: "./Pods/Crashlytics/iOS/Crashlytics.framework",
          notes: "[#{configuration}] #{commit[:commit_hash]}\n#{Time.new.to_s}"
        )
      end
    end
    

    설명


    before_all


    구축 실행 전 처리.
    구문은 Giit 상태가 클린 상태인 경우에만 수행됩니다.
    그 이후pod install도 매번 합니다.

    lane :beta


    베타 랜을 올리기 위해서야.
    Action
    설명
    옵션
    sigh
    구성 파일을 가져옵니다.(여기는 AdHoc용) ※ 처음 실행할 때 비밀번호를 물었습니다.(열쇠고리에 로그인하면 다음에 생략 가능)
    app_identifier: Bundle IDusername: Apple Developer Acount의 사용자 이름 설명
    build_app
    이 작업을 수행하면 응용 프로그램(아카이브)이 만들어집니다.
    schme: 빌드 객체의 TARGET 이름을 기술합니다.export_ad-hoc에서 사용하는 프로필로 파일을 저장해야 하기 때문에 "ad-hoc"로 설정합니다.워크스페이스 이름을 기술합니다.
    crashlytics
    build_애플리케이션에서 아카이브한 파일을 베타에 업로드합니다.
    api_token, build_Crashlytics를 통해 획득한api 토큰과 기밀을 설정합니다.crashlytics_crashlytics 라이브러리의 path를 지정합니다.코코팟으로 관리하는 경우 기재된 대로 하면 됩니다.공책을 게시합니다.여기에는'[Debug] commit hash(줄 바꿈) 업로드 타임'느낌으로 게재됐다.

    4. 실행


    여기까지 하면 랜을 실행해 보겠습니다.
    # プロジェクトのTOPディレクトリに移動して実行
    $ bundle exec fastlane beta
    ...
    [13:10:01]: fastlane.tools just saved you 6 minutes! 🎉
    
    성공하면 베타에 올렸는지 확인할 수 있어요.

    좋은 웹페이지 즐겨찾기