CircleCI로 Android 앱 빌드(2017년 4월)
앱도 CI 제대로 돌리고 싶네요.
이번에는 CircleCI에서 Android 앱을 빌드하는 방법을 소개합니다.
CircleCI로 빌드 할 수 있었다.
특히 중요한 것은 circle.yml 및 Android SDK 관련 이용 약관에 대한 동의를 명령 줄에서하는 것입니다.
GitHub로 프로젝트 만들기
미리 CI하려는 Android 프로젝트를 GitHub 프로젝트로 둡니다. Private이든 Public이든 상관 없습니다.
리포지토리 조금 gradlew 가 있는 구성이, gradlew 의 실행을 ./gradlew 로 할 수 있으므로 조금 편합니다.
 CircleCI에서 프로젝트 팔로우
샘플 프로젝트
 이제 저장소에 푸시되면 CircleCI에서 빌드를 시도합니다.
circle.yml 만들기
CircleCI가 힐드하려면 circle.yml라는 파일이 필요합니다. 이 파일은 리포지토리 바로 아래에 놓습니다.
circle.ymlmachine:
  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는 엔지니어를 행복하게 해줄 것입니다. 적극적으로 도입하고 싶네요.
사용한 
을 공개하고 있으므로 자유롭게 사용하십시오.
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(CircleCI로 Android 앱 빌드(2017년 4월)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/sekitaka_1214/items/776b03b958bf0418b9b6
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
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
어땠습니까? CircleCI에서 Android 앱을 빌드하는 방법을 소개했습니다. CI는 엔지니어를 행복하게 해줄 것입니다. 적극적으로 도입하고 싶네요.
사용한
을 공개하고 있으므로 자유롭게 사용하십시오.
                Reference
이 문제에 관하여(CircleCI로 Android 앱 빌드(2017년 4월)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sekitaka_1214/items/776b03b958bf0418b9b6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)