Jenkins에서 Android 애플리케이션을 구축하는 테스트 환경 중 하나

6216 단어 Android
Jenkins를 사용하여 안드로이드 애플리케이션의 테스트 환경을 구축합니다.이제야 느낀 내용이지만 취합된 정보가 없으니 필기도 여기에 정리해야 한다.구축 후 소감으로는 처음으로 젠킨스를 직접 접한 데다 안드로이드 앱 개발 상황까지 더해져 제로지식부터 구축하기에는 의외의 어려움이 있었다.

전제 조건


전제 조건은 다음과 같다.
  • 로컬 네트워크에서 Jenkins 서버 준비
  • git&bitbucket.org의 사유창고 관리 소스 코드 사용
  • Eclipse의 안드로이드 응용 프로그램 프로젝트에서 응용 프로그램 주체와 테스트 코드 두 가지
  • 를 준비했다.
  • 안드로이드의 버전과 해상도에 따라 각각 Jenkins의 구축과 테스트를 실시
  • 환경을 구축하다


    주요 소프트웨어의 종류와 버전은 다음과 같다.
  • Ubuntu 12.04(64bit) Desktop
  • Jenkins 1.514
  • Android SDK r21
  • Oracle JDK6
  • Android 응용 프로그램 프로젝트 준비


    어플리케이션 개발은 일반적으로 로컬 PC에서 수행됩니다.그리고 Jenkins의 서버를 시작하기 전에 로컬에서 설정해야 할 일이 있습니다. 그것부터 시작하십시오.
    이번에는 다음 폴더로 구성되어 있습니다.Eclipse 생성 프로젝트 & 테스트 시 구성.같은 디렉터리에 적용되는 항목과 응용 테스트가 있는 항목이다.
  • foo/jenkins_smpapp1
  • foo/jenkins_smpapp1test
  • Jenkins는 ant를 사용하여 구성합니다.따라서ant빌딩에 필요한build.xml 파일이 필요하지만, 그 파일은androidsdk 도구로 만들 수 있습니다.그럼 바로 해 보세요.
    $ android update project -p ./jenkins_smpapp1
    $ android update test-project -m ../jenkins_smpapp1/ -p jenkins_smpapp1test 
    
    다행이다.이것은build입니다.xml 파일이 완성되었기 때문에 터미널부터 구축합니다.
    $ cd jenkins_smpapp1
    $ ant clean debug install
    
    이어서 시험을 시행해 보았다.실행하기 전에 실제 컴퓨터의 연결이나 시뮬레이터가 시작되는 것을 잊지 마십시오.
    $ cd ../jenkins_smpapp1test
    $ ant clean debug install test
    
    이렇게 하면 시험이 시작될 수 있다.동작이 확인되면 비트버킷.git로 org의 개인 창고에 미리 등록합니다.또한 이 샘플은 jenkins_smpapp1,jenkins_smpapp1test에서 공개됐으며 가볍게 시도하고 싶다면 포크를 해주세요.

    Jenkins 서버 구축


    여기서부터 젠킨스 서버를 구축한다.Ubuntu 12.04 Desktop이 설치된 후 상태부터 시작합니다.

    갑골문 JDK6 설치


    (OpenJDK 아님) Oracle JDK6를 설치합니다.몇 가지 설치 방법이 있지만 하나의 예로 미리 소개갑골문 배포 JDK6를 Ubuntu에 설치하는 방법.

    Jenkins 설치


    젠킨스는 우분투의 표준 포장이 아니라 젠킨스의 운영단체(이렇게 부르면 되나요?)제공된 Ubuntu 패키지를 설치하려고 시도했습니다.우분투가 관리하는 것보다 새로운 게 있을 테니까.다음 단계는 Installing Jenkins on Ubuntu - Jenkins - Jenkins Wiki부터 시작합니다.
    $ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
    $ sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
    $ sudo apt-get update
    $ sudo apt-get install jenkins
    
    http://localhost:8080/를 통해 제인킨스에 접근할 수 있습니다.
    설치 후 사용자'jenkins'가 추가되었습니다. (메인 디렉터리는/var/lib/jenkins입니다.)이후 SSH 설정과 안드로이드 SDK를 설치해야 하지만 이런 제인킨스 관련 소프트웨어와 설정이 사용자'제인킨스'에 대한 것임을 잊지 말아야 한다.

    Java 전환


    젠킨스를 설치한 뒤 젠킨스 외에도 오픈JDK7과 오픈JRE를 설치해 기본적으로 사용하는 설정이 됐다.이렇게 하면 안드로이드 앱 개발에서 오류가 발생하기 쉬우므로 Oracle JDK를 기본값으로 미리 설정합니다.업데이트-alternatives 명령을 사용하여 전환합니다.
    $ sudo update-alternatives --config java
      選択肢    パス                                          優先度  状態
    ------------------------------------------------------------
    * 0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      自動モード
      1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      手動モード
      2            /usr/lib/jvm/java-6-oracle/bin/java              1         手動モード
    現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください:     <- ここで2をOracle JDKを選択する
    

    안드로이드 SDK 설치


    Android SDK를 설치합니다.만약 사용자'제인킨스'가 접근할 수 있는 디렉터리를 어디에 설치할 수 있습니까?여기, Jenkins 홈 페이지 아래에 설치(즉,/var/lib/Jenkins/android-sdk에 안드로이드 SDK가 설치되어 있음)
    설치 방법에 대한 자세한 내용은 생략합니다.

    필요한 패키지 설치


    Ubuntu 패키지에서 git 및 ant를 설치합니다.원래 환경 변수 ANT홈의 설정이 필요하지만 젠킨스의 설정도 지정할 수 있기 때문에 여기서는 설정하지 않는다.
    $ sudo apt-get install git-core ant
    

    ssh 설정


    이어서 ssh 설정을 진행합니다.제인킨스가 비트버킷이기 때문이다.org의 개인 창고에 자산이 있으니까.뭐,bitbucket.org뿐만 아니라 원격으로git를 제어하는 창고에 필요한 설정입니다.
    SSH의 기본 내용은 생략하고 자세한 내용은 SSH에 로그인하십시오.이러한 SSH 설정과 키는 사용자가 "Jenkins"에 로그인할 때 유효해야 합니다.우선, 사용자 "Jenkins"에서 사용할 키를 생성합니다.
    $ sudo -u jenkins ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa): 
    Created directory '/var/lib/jenkins/.ssh'.
    Enter passphrase (empty for no passphrase):    <-パスフレーズを聞かれるが、Enterを押してスキップする
    Enter same passphrase again: 
    Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
    Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.
    
    참고로'sudo-u jenkins'는 Jenkins의 권한을 사용하여 명령을 집행하는 방법을 가리킨다.이렇게 하면 제인킨스 계정에 로그인하지 않고 처리할 수 있어서 편리해요.
    키가 생성된 후에는 다음 파일 구조가 되어야 합니다.
    $ sudo -u jenkins ls -la /var/lib/jenkins/.ssh
    total 16
    drwx------ 2 jenkins nogroup 4096 May  9 11:20 .
    drwxr-xr-x 9 jenkins adm     4096 May  9 11:20 ..
    -rw------- 1 jenkins nogroup 1679 May  9 11:20 id_rsa
    -rw-r--r-- 1 jenkins nogroup  396 May  9 11:20 id_rsa.pub
    
    이 열쇠로bitbucket.org의 창고에 접근하기 위해서 이 키는bitbucket입니다.org에 등록해야 합니다.따라서 미리 등록한다.

    공개 키를 설정한 후bitbucket을 한 번 설정합니다.org에 대한 평가, 인증 사이트(.ssh/known host 파일 생성)가 필요합니다.이럴 땐 파일을 받을 필요가 없다(그렇게 말하지만 git clone이 했다)
    $ sudo -u jenkins git clone [email protected]:demuyan/jenkins_smpapp1.git /var/lib/jenkins/tmp
    Cloning into '/var/lib/jenkins/tmp'...
    The authenticity of host 'bitbucket.org (207.223.240.181)' can't be established.
    RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
    Are you sure you want to continue connecting (yes/no)? yes                                      <- ここで yes と入れる
    Warning: Permanently added 'bitbucket.org,207.223.240.181' (RSA) to the list of known hosts.
    
    다음은 젠킨스 설정편.

    좋은 웹페이지 즐겨찾기