Fastlane 명령을 Bitrise에 통합 (android,ReactNative)
Fastlane에서 ReactNative 배포 자동화 (android)
이번에는 CICD 도구로 유명한
Bitrise
를 사용하여 Github에 push했을 때 자동으로 fastlane이 실행하는 메커니즘을 구축합니다.ios판은 이쪽↓
Fastlane 명령을 Bitrise에 통합 (ios,ReactNative)
사전 준비
Bitrise에 대상인 Github의 repository를 등록해 둡니다.
주의점으로서, SSH의 공개키의 등록입니다만, repositry 단독이 아니고, Github 유저에 대해서 등록하도록(듯이) 합니다.
repository 단위로 등록하면, fastlane 실행시에 증명서를 당기는 곳에서 에러가 발생합니다.
Bitrise
GitHub
또한, 나중의 설정에서 환경 변수를 참조하는 관계로 android/app/build.gradle
의 파일 기술을 일부 변경합니다.
build.gradle signingConfigs {
release {
storeFile file(System.getenv("MYAPP_UPLOAD_STORE_FILE"))
storePassword System.getenv("MYAPP_UPLOAD_STORE_PASSWORD")
keyAlias System.getenv("MYAPP_UPLOAD_KEY_ALIAS")
keyPassword System.getenv("MYAPP_UPLOAD_KEY_PASSWORD")
}
}
환경 변수 설정
다음 변수를 추가합니다.GITHUB_USER_EMAIL
및 GITHUB_USER_NAME
는 사용 중인 Github에 대한 정보를 입력합니다.
secret 설정
다음 변수를 추가합니다.GOOGLE_JSON_SECRET_FILE
json 파일은 google play console의 api 파일이므로 아래 기사에서 얻은 이름으로 다시 작성하십시오.
google play console의 api 얻기
signingConfigs {
release {
storeFile file(System.getenv("MYAPP_UPLOAD_STORE_FILE"))
storePassword System.getenv("MYAPP_UPLOAD_STORE_PASSWORD")
keyAlias System.getenv("MYAPP_UPLOAD_KEY_ALIAS")
keyPassword System.getenv("MYAPP_UPLOAD_KEY_PASSWORD")
}
}
다음 변수를 추가합니다.
GITHUB_USER_EMAIL
및 GITHUB_USER_NAME
는 사용 중인 Github에 대한 정보를 입력합니다.secret 설정
다음 변수를 추가합니다.GOOGLE_JSON_SECRET_FILE
json 파일은 google play console의 api 파일이므로 아래 기사에서 얻은 이름으로 다시 작성하십시오.
google play console의 api 얻기
코드 서명 설정
keystore 파일 업로드
아래 기사에서 얻은 keystore 파일을 업로드합니다.
keystore 작성 정보
그런 다음 keystore를 만들 때 입력한 alias와 password를 변수에 입력합니다.
참고:
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****
google play console의 api 파일 업로드
아래 기사에서 얻은 keystore 파일을 업로드합니다.
google play console의 api 얻기
File Storage ID
에 JSON_SECRET
를 입력합니다.
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
File Downloader(첫 번째)
Download source url$BITRISEIO_ANDROID_KEYSTORE_URL
입력
Download destination path$MYAPP_UPLOAD_STORE_FILE
입력
File Downloader(두 번째)
Download source url$BITRISEIO_JSON_SECRET_URL
입력
Download destination path$GOOGLE_JSON_SECRET_FILE
입력
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, android)
Reference
이 문제에 관하여(Fastlane 명령을 Bitrise에 통합 (android,ReactNative)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kenkono/items/9e00eb3de49208e8892e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****
아래 이벤트를 추가합니다.
기본적으로 추가한 후에 설정을 변경할 필요는 없지만 일부 이벤트는 설명을 다시 작성합니다.
스크립트
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
File Downloader(첫 번째)
Download source url
$BITRISEIO_ANDROID_KEYSTORE_URL
입력Download destination path
$MYAPP_UPLOAD_STORE_FILE
입력File Downloader(두 번째)
Download source url
$BITRISEIO_JSON_SECRET_URL
입력Download destination path
$GOOGLE_JSON_SECRET_FILE
입력Run npm command
Working directory
$BITRISE_SOURCE_DIR 입력
The
npm
command with arguments to runinstall 입력
fastlane
fastlane lane
$FASTLANE_LANE
입력Working directory
$FASTLANE_WORK_DIR
입력트리거 설정
임의의 브랜치에 push 했을 때에, 어느 wrokflow를 실행하는지를 설정합니다.
workflow는 이전에 설정한 flow를 선택합니다.
실행
지정한 branch로 push하면, Bitrise가 발동합니다.
버전 번호 자동 증가 정보
fastlane의 설정으로 버전 번호는 자동으로 올라갑니다만, Bitrise의 서버상에서 실행되기 때문에 수중의 파일에서는 갱신되지 않는 문제가 발생합니다.
아래 기사에서 그에 대한 대응법을 기술했습니다.
Bitrise 넘버링을 이용하여 버전의 자동 증가를 실현 (ReactNative, android)
Reference
이 문제에 관하여(Fastlane 명령을 Bitrise에 통합 (android,ReactNative)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kenkono/items/9e00eb3de49208e8892e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
지정한 branch로 push하면, Bitrise가 발동합니다.
버전 번호 자동 증가 정보
fastlane의 설정으로 버전 번호는 자동으로 올라갑니다만, Bitrise의 서버상에서 실행되기 때문에 수중의 파일에서는 갱신되지 않는 문제가 발생합니다.
아래 기사에서 그에 대한 대응법을 기술했습니다.
Bitrise 넘버링을 이용하여 버전의 자동 증가를 실현 (ReactNative, android)
Reference
이 문제에 관하여(Fastlane 명령을 Bitrise에 통합 (android,ReactNative)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kenkono/items/9e00eb3de49208e8892e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Fastlane 명령을 Bitrise에 통합 (android,ReactNative)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kenkono/items/9e00eb3de49208e8892e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)