일전에 IOS에서 fastlane으로 테스트 앱 자동배포 구축에 대해 글을 포스팅했었다.
IOS에서 fastlane으로 테스트앱 자동 배포 구축(2)
오늘은 Android에서 자동 배포 구축하기에 대해 글을 쓰려고 한다.
기본적인 fastlane 세팅, firebase app distribution 세팅 등은 위의 링크 글을 참고하면 좋을 것 같다.
fastlane 설치 및 세팅이 다 되었으면 android에서 필요한 추가 설정 부터 시작하겠다.
download json key
firebase dashboard의 프로젝트 설정에서 서비스 계정 탭에서 서비스 계정 n개를 클릭해 링크로 이동한다.
Google Iam 관리자 페이지에 들어 왔다면 서비스 계정 탭에서 서비스 계정 만들기를 클릭한다.
이때 service account role은 firebase-adminsdk로 설정한 후 생성한다.
생성이 완료 되었다면 생성한 계정 페이지로 들어간 후 키 탭에서 새로운 키(JSON)를 추가 해준다.
이 때 생성한 키를 안드로이드 프로젝트 디렉토리에 추가 해주자 (경로 수정 가능)
추가로 sign 키로 사용하고 있는 key store jks 파일을 fastlane 폴더 안에 추가해야 한다.
Appfile 수정
json_key_file("./app/key.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
package_name("com.test.app") # e.g. com.krausefx.app
Fastfile 수정
default_platform(:android)
platform :android do
desc "Runs all the tests"
lane :test do
gradle(task: "test")
end
desc "Submit a new Beta Build to Crashlytics Beta"
lane :develop do
releaseFilePath = File.join(Dir.pwd, "your_release_key.jks")
gradle(
task: "clean assembleRelease",
properties: {
"android.injected.signing.store.file" => releaseFilePath,
"android.injected.signing.store.password" => "password",
"android.injected.signing.key.alias" => "your_alias",
"android.injected.signing.key.password" => "password",
}
)
firebase_app_distribution(
app: "app_id",
debug: true,
groups: "qa_team"
)
version = get_version_name()
versionCode = get_version_code()
slack(
username: "app_name",
message: "Android, Firebase App Distribution 배포가 완료되었습니다.",
channel: "slack_channel",
slack_url: "slack_web_hook_url",
payload: {
"Version": version + " (" + versionCode + ")"
}
)
end
end
터미널에서 fastlane develop 명령어를 실행하면
테스트 앱 배포가 정상적으로 완료된 것을 확인할 수 있다.
'Android' 카테고리의 다른 글
[Android / JAVA] Alert Dialog의 title과 message 중앙 정렬하기 (0) | 2023.02.09 |
---|---|
[Android / JAVA] Firebase Remote Config로 강제/선택 업데이트 팝업 관리하기 (1) | 2023.02.07 |
Android(Java)에서 받은 encodedUri를 webView(javascript)에서 파일로 변환하기 (2) | 2023.02.02 |