2024. 5. 12. 21:28ㆍ블로그/android
민트소프트에서는 테스트 용을 appcenter.ms을 이용하여 daily build를 진행하고 있습니다.
circleci를 이용하여 develop 브랜치에 코드가 푸쉬 될때 마다 빌드를 하여 appcenter에 전송하고 있습니다.
하지만 release 빌드를 할때는 appcenter를 사용하지 못하여 s3에 저장을 하였습니다.
따라서 필요없는 s3 용량이 계속 사용되어서 slack로 aab를 업로드 하기로 하였습니다.
1.slackbot 앱 생성하기
https://api.slack.com/apps에 들어가서 '내 앱' -> '새 앱 만들기' 클릭
2.scope을 정해주기
Bots버튼을 클릭한다.
Review Scopes to Add 버튼을 클릭한다.
다음화면에서 중간정도에 있는 Scopes에서 Bot Token Scopes,User Token Scopes을 확인하여 files:write 을 추가한다.
3.OAuth Tokens for Your Workspace
앱을 워크스페이스에 설치를 합니다.
Install to Workspace을 눌러서 앱을 원하는 워크스페이스에 설치를 진행합니다.
4.토큰 설치 확인
Bot User Oauth Token을 잘 적어 줍니다.
5.slack 채널에 bot을 초대 합니다.
원하는 채널에 들어가서 @slackupload을 치면 초대를 할거냐고 물어보면 초대를 진행합니다.
slackupload는 최초 봇을 생성할때 만든 이름으로 입력하시면 됩니다.
6.fastlane의 slackupload 추가하기
간단한 fastlane을 만들어서 bundleRelease로 빌드하고 aab를 슬랙에 업로드를 합니다.
curl로 업로드 하기때문에 ci 툴에서는 curl이 반드시 설치가 되어있어야 합니다.
update_fastlane
default_platform(:android)
platform :android do
def upload_to_slack(file_path)
file_name = "app_release.aab"
sh "curl https://slack.com/api/files.upload -F token=\"{봇토큰이름}\" -F channels=\"채널명\" -F title=\"" + file_name + "\" -F filename=\"" + file_name + "\" -F file=@" + file_path
end
lane :release do
version = android_get_version_code
versionName = android_get_version_name
gradle(task: "clean bundleRelease --refresh-dependencies")
file_path = "../app/build/outputs/bundle/release/app-release.aab"
upload_to_slack(file_path)
end
end
7.슬랙으로 실제 파일이 업로드 되는지 확인합니다.
정상적으로 앱이 업로드 되는것을 확인할수 있습니다.
민트소프트는 모바일 앱 개발 전문회사입니다. 하이브리드앱,크로스플랫폼,네이티브영역 전반에 걸친 모바일 앱을 개발하고 있습니다.
하이브리드는 민트앱이라는 솔루션을 보유하고 있어서 Time To Market에 매우 유리합니다.
언제는 찾아주시면 신속하고 빠른 상담을 진행하도록 하겠습니다.
'블로그 > android' 카테고리의 다른 글
android fastlane 사용법 (0) | 2024.05.12 |
---|