지속적인 통합 (iOS 및 Android 프로젝트와) [닫기]


10

회사에서 긍정적 인 변화를 시도하고 있는데 그 중 하나가 지속적인 통합을 구현하고 있습니다. 모바일 개발 (iOS / Android)을 수행하므로 두 가지 유형의 프로젝트를 모두 지원하는 CI가 필요합니다. 아시다시피 CI에 대해 잘 모르지만 조금 구글 검색을 해본 결과 Jenkins와 Hudson이 가장 인기가 있다고 생각합니다.

두 가지 질문이 있습니다.

  1. 젠킨스에 대한 당신의 생각?
  2. 프로젝트가
    코딩 표준 (느슨한 커플 링 등 )을 컴파일하고 있는지 CI가 확인할 수있는 방법이 있습니까?

3
"Jenkins와 Hudson은 둘입니다"...JenkinsHudson 의 새로운 이름이라는 것을 알고 있습니까?
gnat

1
나는 정말로 그것을 몰랐다! 내가 말했듯이, 나는 CI를 처음 접했고 경험이 0입니다. Soooo .. J & H 같은 것 .. 내 옵션을 좁히는 것
같아요

팀 시티, 크루즈 컨트롤 및 기타도 있습니다.
Kyle Hodgson

@ gnat : 글쎄, 젠킨스는 허드슨의 포크라고 생각합니다. 저는 hudson이 여전히 존재한다고 생각합니다 : hudson-ci.org 는 Oracle에 의해 관리됩니다. Jenkins는 대부분의 사람들에게 마이그레이션하는 매우 좋은 포크입니다. 내가 틀렸다면 죄송합니다 ...
dbalakirev

답변:


9

먼저 TeamCity 를 서버의 다른 옵션으로 보길 원할 수 있습니다 .

내 관점에서 (TeamCity보다 Jenkins에 대한 경험이 다소 적지 만) 둘 다 우수하고 매우 유능한 도구입니다. 둘 중 하나를 사용하는 환경에서 행복합니다.

좋아, 문제의 고기, 즉

CI가 프로젝트가 코딩 표준에 맞게 컴파일되고 있는지 확인하는 방법이 있습니까 (느슨한 커플 링 등)?

가장 기본적인 수준에서 CI 서버가 수행하는 모든 작업은 스크립트를 실행 한 다음 해당 스크립트 실행 결과를 해석하고 제시하는 것입니다. 따라서 스크립트를 작성할 수 있으면 CI 서버가이를 실행하고 출력을 적절하게 형식화 할 수있는 경우 CI 서버는 아마도 결과를 해석하고보고 할 수 있습니다.

물론 주요 빌드 서버는 이미 이야기 / 인기 많은 도구와 통합 할 수있다 - 그래서 정말 문제는 당신이 당신의 코딩 표준을 확인하기 위해 사용하고있는 도구가되고 않는 CI 서버의 선택과 통합 할 수 있습니다.

그렇습니다. CI 서버는 스크립트를 무의식적으로 실행하는 것보다 자동화 측면에서 게임에 더 많은 것을 제공하지만 하루가 끝날 무렵입니다.


명확하게 말하면-빌드 서버는 단순히 스크립트를 실행하는 것 이상의 가치를 부여하는 프로세스 자동화 (특히 (D) VCS와의 통합)를 수행하는 것 이상을 수행한다는 것을 알고 있습니다. "서버 및 스크립트"라는 대답은 "서버 및 스크립트"입니다.


iOS 용 CI 서버로 TeamCity를 상당히 성공적으로 사용했습니다. 나는 안드로이드를 위해 그것을 사용하는 것은
쉬운

5

나는 TeamCity 추천 두 번째로 훌륭한 제품입니다. 나는 거기에는 좌석 시간이 없어 한 안드로이드 말할 수는 없지만, 나는 성공적 CI 덕분에이 개 제품 (실행 아이폰 OS 프로젝트를 가지고 1 2 ).

가장 까다로운 부분은 Mac이 적절한 키 체인으로 자동화 된 빌드를 실행하도록하는 것과 관련이 있으므로 에뮬레이터 전용 옵션이 아닌 iDevice에 배포 할 수있는 서명 된 앱을 만들 수 있습니다.


Linux 서버에 TeamCity를 설치 한 다음 iOS 프로젝트를 처리 할 수 ​​있습니까?
paxx

1
TeamCity는 중요하지 않으며 빌드 에이전트입니다. 그리고 iOS의 경우 Mac에 배포해야합니다. 툴체인 만 있습니다. 아마도 GNUStep을 사용하여 어떤 일을 할 수는 있지만 제 생각에는 사소한 것이 없으면 꽤 실망스러운 시간이 될 것입니다.
Wyatt Barnett

2

iOS 앱을 개발하는 Jenkins를 사용하기 전에 회사의 빌드 서버와 스크립트를 설정했습니다. 많은 사람들이 말했듯이 CI 서버는 매우 간단하며 Jenkins는 무료 / 오픈 소스이고 공개 범위 보고서 또는 github 통합과 같은 많은 플러그인을 가지고 있기 때문에 Jenkins를 좋아합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.