CocoaPods + Swift에서 Travis CI 사용

4669 단어 SwiftTravisCI

이 기사의 목표



다음 환경에서 GitHub에 끌어 오기 요청을 푸시 할 때 단위 테스트가 실행되는 환경을 구축하는 것을 목표로합니다.
  • GitHub는 공개 리포지토리
  • Swift
  • CocoaPods 사용

  • 전체 흐름


  • Travis CI 등록
  • XCode 프로젝트 수정
  • .travis.yml 만들기

  • 이하 그 순서입니다.

    Travis CI에 등록



    Travis CI에 등록합니다.

    Travis CI 프로필 페이지로 이동하여 CI하려는 리포지토리를 켜십시오.


    프로젝트 수정



    출전: Building an Objective-C Project

    Travis CI를 사용하려면 XCode에서 프로젝트를 다음과 같이 수정해야 합니다.
  • 테스트 대상 프로젝트를 공유로 만들기
  • 종속 모듈을 명시 적으로 빌드하도록 허용

  • 다음 절차
  • 메뉴에서 Product -> Scheme -> Manage Schemes 선택

  • 테스트 대상 프로젝트의 공유 확인란을 선택합니다.

  • Cocoa Pods와 같은 프로젝트 간에 종속성이있는 경우 명시 적으로 종속성을 설정합니다.
  • 테스트 대상 프로젝트를 선택하고 편집을 선택합니다.

  • 왼쪽 패널의 빌드 탭 선택

  • + 버튼에서 각 종속 모듈을 프로젝트에 추가. CocoaPods는 Pods라는 이름으로 표시됩니다.

  • 종속 모듈을 테스트 대상 위로 드래그하여 이동



  • UITests 사용 안함





    우리 환경에서는 UITests가 TravisCI에서 작동하지 않았기 때문에 이것을 무효화했습니다.
    UITests가 필요한 사람들은 최선을 다하십시오.
    htps : // 기주 b. 코 m/후세보호 k/xc와 l/이스에 s/534 둘레가 관계 있을지도 모릅니다.

    .travis.yml을 리포지토리에 추가



    다음과 같은 내용으로 .travis.yml을 만듭니다. TimeLogger 부분은 자신의 테스트 대상으로 다시 씁니다.
    language: objective-c
    osx_image: xcode7.2
    xcode_workspace: TimeLogger.xcworkspace
    xcode_scheme: TimeLogger
    xcode_sdk: iphonesimulator
    

    - Swift CI이지만 language는 objective-c로 괜찮습니다.
    - XCode 버전에 따라 코드를 컴파일하지 못할 수 있으므로 개발에 사용하는 XCode 버전을 osx_image로 지정
    - 공식에서는 xcode_scheme 은 HogeHogeTests 를 지정하게 되어 있습니다만, 테스트용 Scheme 가 없으면 테스트 대상 Scheme 를 지정하면 움직입니다
    - xcode_sdk를 붙이지 않으면 code signing 흠뻑 떨어집니다.

    이상을 commit, push 합니다

    완료!




    했어!
    (잘 움직이지 않는 것을 조사하거나 보내고 하루에 잡았습니다..)

    Travis CI 호환 수정 PR 샘플



    내 환경에서의 차이입니다.
    htps : // 기주 b. 코 m / 하 l rrn / Chimea r r / Put l / 3

    그 외는 멈춘 곳



    .ruby-version이 있다고 생각합니다.



    Travis CI는 .ruby-version에 따라 루비를 설치하려고 시도하지만 실패합니다.
    결국 .ruby-version을 지웠습니다. 슬프다.

    Cocoa-Pods 도입시는 최소한 하나는 라이브러리 넣어 있을 필요가?



    하나도 들어 있지 않으면,

    오렌지 아이콘이 나오지 않았다.

    좋은 웹페이지 즐겨찾기