BITRISE에서 iTunes Connect로 Deploy

11566 단어 BitriseiOS
좀 늦었지만 저번 계속하세요.
BITRISE에 iTunes Connect에 업로드할 워크플로우를 입력합니다.

최초 업로드


발행되지 않은 상점에 없는 프로그램은 이workflow로 업로드할 수 없습니다.처음으로 Xcode에서 수동으로 업로드해야 합니다.

설정


YAML


먼저yml 파일의 설정 부분을 발췌하였다.

steps:
    - [email protected]:
        run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
    - [email protected]: {}
    - [email protected]: {}
    - [email protected]: {}
    - [email protected]: {}
    - [email protected]:
        inputs:
        - project_path: <WORKSPACE_NAME>.xcworkspace
        - scheme: <SCHEME_NAME>
        - is_clean_build: 'yes'
        - configuration: Release
        - export_method: app-store
        - team_id: <TEAM_ID>
    - [email protected]: {}
    - [email protected]:
        inputs:
        - password: "$ITUNES_CONNECT_PASSWORD"
        - app_id: "$ITUNES_CONNECT_APP_APPLE_ID"
        - itunescon_user: "$ITUNES_CONNECT_USER_APPLE_ID"
    - [email protected]: {}
    - [email protected]:
        inputs:
        - content: |-
            #!/usr/bin/env bash
            # fail if any commands fails
            set -e
            # debug log
            set -x

            # write your script here

            buildNumber="$IOS_APP_VERSION_NAME ($IOS_APP_VERSION_NAME.$BITRISE_BUILD_NUMBER)"
            appName=$IOS_APP_NAME
            bundleId=$IOS_IPA_PACKAGE_NAME
            workflowId=$BITRISE_TRIGGERED_WORKFLOW_ID
            echo "$BITRISE_APP_TITLE $buildNumber $workflowId"
            message="The workflow \"$workflowId\" was succeeded!\n$appName $buildNumber\n$bundleId\n$BITRISE_GIT_MESSAGE"

            envman add --key SLACK_MESSAGE_BODY --value "$message"
            echo "SLACK_MESSAGE_BODY is $SLACK_MESSAGE_BODY"

            # or run a script from your repository, like:
            # bash ./path/to/script.sh
            # not just bash, e.g.:
            # ruby ./path/to/script.rb
    - [email protected]:
        is_always_run: false
        inputs:
        - message: "$SLACK_MESSAGE_BODY"
        - emoji: ":bitrise:"
        - webhook_url: https://hooks.slack.com/services/<SLACK_WEBHOOK_URL>
        - channel: "#<SLACK_CHANNEL_NAME>"
        - from_username: Bitrise CI
        - image_url: ''
    envs:
    - ITUNES_CONNECT_APP_APPLE_ID: '<APPLE_ID>'
다음은 마음대로 당신의 물건으로 바꿔 주세요.
<TEAM_ID> ... チームID
<SLACK_WEBHOOK_URL> ... Slack Webhook URL で発行したURL(ID)
<SLACK_CHANNEL_NAME> ... Slack通知するチャンネル名
<APPLE_ID> ... アップロードに使用するApple ID
<WORKSPACE_NAME> ... xcworkspaceの名称
<SCHEME_NAME> ... スキーム名

설명

Cocoapods Install단계까지 저번의workflow와 같습니다.
Run CocoaPods Install 이후에 Xcode Archive & Export for iOS 단계를 추가합니다.
아카이브 이전Xcode Test 단계에서도 가능하지만, 디버그 구축과 설치가 동일하면 특별한 의미가 없어 생략합니다.

Archive 후 추가Deploy to Bitrise.io,ipa와 dsym을 검사하고 싶을 때 유용합니다.물론 비공개 설정이다.
iTunes Connect에 업로드하려면 Deploy to iTunesConnect 또는 Deploy to iTunesConnect shenzen 단계를 수행합니다.
전자Deploy to iTunesConnect는 여러 가지 설정을 할 수 있어서 편리할 것 같아요.
Apple ID의 2단계 인증을 유효하게 설정하면 오류가 발생하거나 장애가 발생할 수 있으므로 해당 인증서Deploy to iTunesConnect shenzen를 사용합니다.
Deploy to iTunesConnect shenzen 간단한 설치
  • IPA path
    Archive에서 output의 $BITRISEIPA_PATH를 사용합니다.
  • iTunes Connect: User Apple ID (email)
    시크릿에 정의된 애플 ID를 지정합니다.
  • iTunes Connect: Password
    시크릿에 정의된 애플 ID의 암호를 지정합니다.
  • iTunes Connect: App Apple ID
    애플리케이션의 App Store ID를 지정합니다.(예: Env Vars에 정의된 변수 이름 지정)
  • 이후 저번와 같이 슬랙에 알립니다.
    그리고 제작된workflow와 적당한branchStart Build를 선택하세요.

    검사 요점


    기본적으로 잘못된 일지를 보고 해결하지만, 보고도 잘 모르는 부분도 있어서 대충 적어 놓는다.
    - Provisioning Profile이 정식 응용 프로그램에 속하는지 여부
    -p12 파일이 정식 애플리케이션인지 여부
    - Xcode Archive ステップ > Export options > Select method for export app-store
    - Xcode Archive ステップ > Export options > The Developer Portal team to use for this export 정식 앱의 팀 ID가 되는지 여부(Debug 빌딩과 Release 빌딩에서 다른 애플 ID를 사용하는 경우 등)
    - 앞서 설명한 바와 같이 Apple ID의 2단계 인증이 유효한 경우 iTunes Connect에 대한 Deploy 단계는 Deploy to iTunesConnect shenzen여야 합니다.

    감상


    버튼만 누르면 아이튠즈 커넥트에 업로드할 수 있고, 좀 더 진지하게 게시된 앱이라면 손해가 없을 것 같다
    수정 내역
    2018/03/16:31Deploy to iTunesConnect shenzen의 설정을 보충하다.
                                  MMMMMMMMMMMM                                
                                  MMMMddddNMMM                                
                                  MMMM    mMMM                                
                                  MMMMssssNMMM                                
                                  MMMMMMMMMMMM                                
                                     sMMMMd                                   
                                     yMMMMd                                   
          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM      
          MMMMdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdMMMM      
          MMMM                                                      MMMM      
          MMMM                                                      MMMM      
         MMMMM                                                      MMMMMM    
      MMMMMMMM                                                      MMMMMMMM  
     MMM' MMMM           .yy.                        .yy.           MMM  'MMM 
    MMMh  MMMM         .MMMMMMl.                  .lMMMMMMM.        MMM   hMMM
    MMM   MMMM       .MMMMMmNMMMl.               .MMMMNmMMMM.       MMM    MMM
    MMMs  MMMM       .hhhh   yhhh.               .hhhh   hhh+       MMM   sMMM
     MMM. MMMM                                                      MMM  .MMM 
      MMMNMMMM                                                      MMMMNMMM  
        MMMMMM                                                      MMMMMM    
          MMMM                                                      MMMM      
          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM      
          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM      
          MMMM                                                      MMMM      
          MMMM                                                      MMMM      
          MMMM                                                      MMMM      
          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM      
          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM      
    

    좋은 웹페이지 즐겨찾기