Skip to content

⚡ :: api_key 추가 #51

⚡ :: api_key 추가

⚡ :: api_key 추가 #51

name: UploadTestflight # 워크플로우 이름 설정
on: # 워크플로우가 언제 실행되야할지 설정해줘야 합니다. (푸쉬 될 때)
push:
branches: [ develop ] # develop 브랜치에
env:
GPG_KEY: ${{secrets.GPG_KEY}}
ENCRYPTED_MASTER_KEY_PATH: ${{secrets.ENCRYPTED_MASTER_KEY_PATH}}
DECRYPTED_MASTER_KEY_PATH: ${{secrets.DECRYPTED_MASTER_KEY_PATH}}
ENCRYPTED_FASTLANE_ENV_PATH: ${{secrets.ENCRYPTED_FASTLANE_ENV_PATH}}
DECRYPTED_FASTLANE_ENV_PATH: ${{secrets.DECRYPTED_FASTLANE_ENV_PATH}}
ENCRYPTED_GOOGLE_SERVICE_PATH: ${{secrets.ENCRYPTED_GOOGLE_SERVICE_PATH}}
DECRYPTED_GOOGLE_SERVICE_PATH: ${{secrets.DECRYPTED_GOOGLE_SERVICE_PATH}}
jobs: # 워크플로우에서 어떤 작업들을 수행할지는 jobs 키를 통해서 설정 , jobs 키에는 여러 개의 작업을 작업 식별자(ID)와 작업 세부 내용 간의 맵핑(mapping) 형태로 표시를 합니다.
upload_testflight: # upload_testflight라는 식별자를 갖는 작업을 생성
runs-on: macos-latest # runs-on 키를 통해 해당 작업이 어느 환경에서 돌아가는지
steps: #steps 키를 통해 순차적인 수행할 작업 단계를 적어도 하나는 명시해야합니다.
- uses: actions/checkout@v4 # 소스 코드 내려받기
- name: Decrypt encrypted files
run: sh .github/workflows/Shell/Decrypt.sh
shell: bash
- name: Setup Xcode version
uses: maxim-lobanov/setup-xcode@v1 # xcode 버전 15.0.0으로 셋팅하기
with:
xcode-version: latest-stable
- name: Bring ignored files # job 이름 설정
uses: actions/checkout@v4 # 소스 코드 내려받기
with: # 이번 job에서 사용할 것들
repository: PrintingAlley/PrintingAlley-ignored # 끌어올 레포명(repository)
path: XCConfig # 끌어와서 현재 레포에 배치할 위치
token: ${{ secrets.ACTION_TOKEN }} # private Repository 접근을 위한 토큰
- name: Install Tuist
run: |
echo ✅ Install Tuist.
curl -Ls https://install.tuist.io|bash
- name: Install Fastlane
run: |
echo ✅ Install Fastlane.
brew install fastlane
- name: Tuist clean
run: tuist clean
- name: Tuist fetch
run: tuist fetch
- name: Tuist Signing Decrypt
run: tuist signing decrypt
- name: Set Keychain
run: fastlane set_keychain
env:
KEYCHAIN_NAME: ${{ secrets.KEYCHAIN_NAME }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
- name: Tuist generate
run: TUIST_DEV=0 TUIST_ROOT_DIR=${PWD} tuist generate
- run: fastlane beta
env:
KEYCHAIN_NAME: ${{ secrets.KEYCHAIN_NAME }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
TEAM_ID: ${{ secrets.TEAM_ID }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}