본문 바로가기

개발/안드로이드

Android에 deploygate 설정 하기 (테스터들에게 자동 배포 하기)

반응형

 

 

안드로이드 앱을 개발하다 보면 test를 위해서 배포해야 하는 경우가 있는데 이럴 때 사용할 수 있는 여러 가지 방법들이 있다.

 

 

서버에 apk 파일을 올려서 주소를 공유한다.
메일을 보내서 apk를 공유한다.
단말기를 받아서 개발자가 설치해 준다.
adb wifi를 이용해서 한번 연결하고 개발자가 일일이 연결해서 설치해 준다.

등등.....




 


 

 

    아직 까지 이런 방법들을 사용하고 있다면 다음 글을 잘 읽어보고 적용해 보자.
    위의 방법들이 틀렸다는 이야기는 아니다. 테스트 단말이 2대뿐인데 아래 과정을 거친다면 오히려 더 귀찮을지도 모른다. 

    다만 대량의 테스터에게 테스트하는 경우 아래의 방법을 고려해볼 수 있겠다.
    3명에게 각각 1대씩의 단말기가 있다고 해도 사실 나는 유선으로 배포 또는 메일 배포가 귀찮았다.
    한 번의 빌드로 각 테스트 단말에서 새로운 테스트 앱을 다운로드할 수 있다면 얼마나 편리한가!!

 

 

 

 

 

    에이~ 단톡방에 다운로드 주소 하나 올리면 돼요~!!라고 하시는 분도 한번 읽어보자.
    장점이 많은 서비스라 사용하는 유저도 많다.

 

    ci/cd를 이용해서 통합 및 테스트를 할 때도 배포의 한 가지 방법으로 사용할만하다.

 

 

 

 

 

우선 deploygate 서비스를 간단하게 설명하겠다.
테스트를 위해 선택된 테스터에게 앱 배포를 쉽게 도와주는 툴이다.

이를 위한 환경으로는 테스터들의 폰에는 deploygate 애플리케이션이 설치되어 있어야 하고 테스터들의 계정이 배포자의 프로젝트에 테스터로 등록되어 있어야 한다.
배포자는 테스트할 apk를 deploygate 사이트를 통해서 업로드해도 되고 gradle을 이용해서 업로드 해도 된다. deploygate에 올라간 apk 파일은 등록된 테스터들에게 알림으로 업로드되었음을 알려주기 때문에 알림을 받고 앱을 설치하여 테스트하면 된다.

 

 

 

 


 

 

deploygate 사용을 위해 위 내용을 간단히 정리하면 다음과 같다.

 

 

  1. 배포해야 하는 tester들 deploygate 어플 설치 및 회원 가입 (https://deploygate.com/)
  2. tester들 해당 프로젝트에 등록
  3. apk upload 또는 gradle task 실행
  4. deploygate 앱에서 배포된 앱을 설치
  5. 배포된 앱을 테스트 끗~!!

 

 

 

자 그럼 위 내용 중 1, 2은 건너뛰고 3번의 gradle task를 통한 배포를 해보자 그러기 위해서는 build.gradle 설정이 필요하다.



 

 

1. 배포해야 하는 tester들 deploygate 어플 설치 및 회원 가입

 

사이트에 가입하고 앱을 다운 로드받는다.
https://deploygate.com/

 

DeployGate - Distribute your beta apps instantly

Share your apps from day one - DeployGate is the fastest and easiest way to share iOS/Android apps in development to your team members and beta testers.

deploygate.com

google deploygate
https://play.google.com/store/apps/details?id=com.deploygate&hl=ko&gl=US

 

DeployGate - Google Play 앱

DeployGate 당신과 개발자가 원활하게 응용 프로그램을 개선하기 위해 연결합니다.

play.google.com




 

 

 

 

2. 테스터 등록은 deploygate dashboard에서 할 수 있다. 




 

 

 

 

3. build.gradle에 설정

아래 세팅 방법을 참고해서 builde.gradle을 설정하자.

deploygate plugin
https://github.com/DeployGate/gradle-deploygate-plugin/blob/master/README.md

 

GitHub - DeployGate/gradle-deploygate-plugin: DeployGate plugin for the Gradle build system.

DeployGate plugin for the Gradle build system. Contribute to DeployGate/gradle-deploygate-plugin development by creating an account on GitHub.

github.com

(21.12월 현재 deploy plugin 버전은 2.4.0 이다.)

 




우선 project level의 build.gradle이다.

 

buildscript {
  ext {
    deployGatePluginVersion = '...'
  }
  repositories {
    mavenCentral()
  }

  dependencies {
    ... // maybe `classpath 'com.android.tools.build:gradle:x.y.z'` also exists
    classpath "com.deploygate:gradle:$deployGatePluginVersion"
  }
}



 

 

 

app level (module level)의 build.gradle이다.

 

// plugin 추가 
apply plugin: 'deploygate'

android {
.
.
.
}


deploygate {  
//appOwnerName과 apiToken은 deploygate 사이트에서 확인 할 수 있음 
appOwnerName = "Tom"  
// account setting -> profile 최하단  
apiToken = "bf0eb588888888888888532271"

    deployments {  
        debug {  
            sourceFile = file("project.rootDir/app/build/outputs/apk/debug/app-debug.apk")  
        }

        release {  
            sourceFile = file("project.rootDir/app/build/outputs/apk/release/app-release.apk")  
        }  
    }
}

 

 

 

 


appOwnerName 과 apiToken 사이트의 Account Settings 정보를 보면 나온다. 

 

 

 

 

 

 

 

 

4. gradle task 실행

혹시 다금과 같이 gradle 탭에서 deploygate 내용이 보이지 않는다면

 





preference -> experimental 메뉴의 Do not build Gradle task list during Gradle sync 체크 해제를 해주자

 





그리고 다시 그래들 싱크를 해주면

 





Task 폴더가 보일 것이다.
실행은 gradle tab의 gradle -> deploygate -> uploadDeploygateDebug/Release 선택
설정을 마쳤다면 그래들 싱크를 다시 한번 해주고 나타나는 task에서 uploadDeploygateDebug/Release중 원하는 task를 선택해주자.

 




 

 

 

5. deploygate 앱에서 배포된 앱을 설치




 

 

 

 

 

6. 배포된 앱을 테스트 끗~!!

 

 

 




Tip. deploygate remote logcat
deploygate에서 제공하는 log를 사용하고 싶다면 다음 퍼미션을 manifest파일에 추가해주자.
자세한 내용은 sdk 문서를 참고! https://deploygate.com/docs/sdk

 

DeployGate

DeployGate SDK for Android To use advanced feature of DeployGate, you need to integrate SDK into your app. First note that you may use basic features of DeployGate without installing the SDK. Once you drop your current app package onto DeployGate, you may

deploygate.com

<uses-permission android:name="android.permission.READ_LOGS" />

 

 

 

 

 

 

 

 

 

 

 

 

반응형