Fastlane 명령을 Bitrise에 통합 (ios,ReactNative)

아래 기사에서 ReactNative 앱 배포를 Fastlane으로 자동화하는 절차를 소개했습니다.
Fastlane에서 ReactNative 배포 자동화 (ios)

이번에는 CICD 도구로 유명한 Bitrise를 사용하여 Github에 push했을 때 자동으로 fastlane이 실행하는 메커니즘을 구축합니다.
android판은 이쪽↓
Fastlane 명령을 Bitrise에 통합 (android,ReactNative)

사전 준비



Bitrise에 대상인 Github의 repository를 등록해 둡니다.
주의점으로서, SSH의 공개키의 등록입니다만, repositry 단독이 아니고, Github 유저에 대해서 등록하도록(듯이) 합니다.
repository 단위로 등록하면, fastlane 실행시에 증명서를 당기는 곳에서 에러가 발생합니다.

Bitrise

GitHub


환경 변수 설정



다음 변수를 추가합니다.GITHUB_USER_EMAILGITHUB_USER_NAME는 사용 중인 Github에 대한 정보를 입력합니다.


secret 설정



다음 변수를 추가합니다.
- FASTLANE_USER=애플 ID
- FASTLANE_PASSWORD=애플 ID 비밀번호
- MATCH_PASSWORD = github 비밀번호 (repository의 인증서를 얻기 위해)


Workflow 설정



아래 이벤트를 추가합니다.
기본적으로 추가한 후에 설정을 변경할 필요는 없지만 일부 이벤트는 설명을 다시 작성합니다.



스크립트



script contents를 아래와 같이 합니다.
#!/usr/bin/env bash
# fail if any commands fails
set -e
# debug log
set -x

# Add github.com to known host 
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

# Configure Git user
git config --global user.name $GITHUB_USER_NAME
git config --global user.email $GITHUB_USER_EMAIL

Run npm command



Working directory
$BITRISE_SOURCE_DIR 입력
The npm command with arguments to run
install 입력



fastlane



fastlane lane
$FASTLANE_LANE 입력
Working directory
$FASTLANE_WORK_DIR 입력


트리거 설정



임의의 브랜치에 push 했을 때에, 어느 wrokflow를 실행하는지를 설정합니다.
workflow는 이전에 설정한 flow를 선택합니다.



실행



지정한 branch로 push하면, Bitrise가 발동합니다.

버전 번호 자동 증가 정보



fastlane의 설정으로 버전 번호는 자동으로 올라갑니다만, Bitrise의 서버상에서 실행되기 때문에 수중의 파일에서는 갱신되지 않는 문제가 발생합니다.
아래 기사에서 그에 대한 대응법을 기술했습니다.
Bitrise 넘버링을 이용하여 버전의 자동 증가를 실현 (ReactNative, ios)

좋은 웹페이지 즐겨찾기