CircleCI로 Android 앱 빌드(2017년 4월)

안녕하세요 sekitaka입니다.
앱도 CI 제대로 돌리고 싶네요.
이번에는 CircleCI에서 Android 앱을 빌드하는 방법을 소개합니다.
CircleCI로 빌드 할 수 있었다.

특히 중요한 것은 circle.yml 및 Android SDK 관련 이용 약관에 대한 동의를 명령 줄에서하는 것입니다.

GitHub로 프로젝트 만들기



미리 CI하려는 Android 프로젝트를 GitHub 프로젝트로 둡니다. Private이든 Public이든 상관 없습니다.
리포지토리 조금 gradlew 가 있는 구성이, gradlew 의 실행을 ./gradlew 로 할 수 있으므로 조금 편합니다.

CircleCI에서 프로젝트 팔로우


  • 기존 프로젝트가 없으면 insight 메뉴에서 Add Project를 선택합니다.
    샘플 프로젝트
  • 빌드할 리포지토리 추가

  • 이제 저장소에 푸시되면 CircleCI에서 빌드를 시도합니다.

    circle.yml 만들기



    CircleCI가 힐드하려면 circle.yml라는 파일이 필요합니다. 이 파일은 리포지토리 바로 아래에 놓습니다.

    circle.yml
    machine:
      pre:
        # デバッグ用に情報を出力
        - env
        - pwd
        - ls
    
    # チェックアウト関連
    checkout:
      post:
        - echo CheckoutPost
        - git submodule sync
        - git submodule update --init
    
    # 依存関係解決
    dependencies:
      pre:
        # ライセンスへの同意
        - echo y | android update sdk --no-ui --all --filter "tools,build-tools-25.0.2,platform-tools,android-25,extra-android-m2repository"
        - mkdir -p $ANDROID_HOME/licenses
        # ローカル開発環境で同意した情報を使用する
        # OSXの場合このファイルは`~/Library/Android/sdk/licenses/android-sdk-license`
        - echo "8933bad161af4178b1185d1a37fbf41ea5269c55" > ${ANDROID_HOME}/licenses/android-sdk-license
    
      override:
          - ./gradlew dependencies || true
    
    # テスト実行
    test:
      override:
        - ./gradlew test
    
    # コンパイル
    compile:
      override:
        - ./gradlew assembleDebug
        - cp -r app/build/outputs $CIRCLE_ARTIFACTS
    
    

    dependencies



    dependencies는 라이센스에 동의합니다. echo -y 로 시작하는 라인과 `echo "8333..."라인이 모두 필요한지 확실하지 않지만이 circle.yml로 빌드 할 수있었습니다.

    compile


    ./gradlew assembleDebug 에서 디버그 빌드 apk를 만들고 있습니다.
    생성된 디렉토리를 $CIRCLE_ARTIFACTS에 복사하면 CircleCI 아티팩트로 관리 화면에서 다운로드할 수 있습니다.
    와이 타노시



    요약



    어땠습니까? CircleCI에서 Android 앱을 빌드하는 방법을 소개했습니다. CI는 엔지니어를 행복하게 해줄 것입니다. 적극적으로 도입하고 싶네요.

    사용한 을 공개하고 있으므로 자유롭게 사용하십시오.

    좋은 웹페이지 즐겨찾기