젠킨스 vs 트래비스 CI. 오픈 소스 프로젝트에 어떤 것을 사용 하시겠습니까? [닫은]


270

내 프로젝트의 경우 Jenkins와 Travis-CI 중에서 선택해야합니다. 나는 수년간 Jenkins를 사용해 왔지만 Travis-CI에 대한 좋은 리뷰를 읽었습니다.

오픈 소스 프로젝트에 어느 것을 사용 하시겠습니까? 두 가지의 주요 장점 또는 장점은 무엇입니까?

답변:


293

Travis-ci와 Jenkins는 둘 다 지속적 통합을위한 도구는 매우 다릅니다.

Travis는 호스트 서비스 (오픈 소스를 위해 무료)이며 Jenkins를 호스팅, 설치 및 구성해야합니다.

트래비스는 젠킨스처럼 직업 이 없습니다 . 코드를 테스트하기 위해 실행되는 명령은 .travis.yml프로젝트 코드와 함께 이름 이 지정된 파일에서 가져옵니다 . 각 브랜치는 자체 버전의 .travis.yml 파일을 가질 수 있으므로 브랜치마다 다른 테스트 코드를 쉽게 가질 수 있습니다.

다음 플러그인 중 하나를 사용하면 Jenkins와 비슷한 기능을 가질 수 있습니다.

  • Travis YML 플러그인 -경고 : 인기가없는 것 같습니다. 실제 Travis와 비교했을 때 완전한 기능이 아닙니다.
  • Jervis-.jervis.yml 프로젝트 코드의 루트에 있는 파일에서 작업 작성을 읽도록 Jenkins를 수정했습니다 . 경우 .jervis.yml존재하지 않는, 그것은 사용으로 폴백 것 .travis.yml대신에 파일을.

지속적인 통합을 위해 고려할 수있는 다른 호스팅 된 서비스가 있습니다 (전체 목록 아님).


선택하는 방법?

Jenkins에 익숙하거나 지속적인 통합 시스템을 위해 타사에 의존하고 싶지 않기 때문에 Jenkins를 유지하고 싶을 수도 있습니다. 그렇지 않으면 Jenkins를 포기하고 무료 호스팅 CI 서비스 중 하나를 사용하여 많은 문제 (호스트, 설치, 구성, 작업 준비)를 저장합니다.

코드 리포지토리가 호스팅되는 위치에 따라 다음을 선택합니다.

  • 사내 → Jenkins 또는 gitlab-ci
  • Github.com → Travis-CI

github 프로젝트에서 Travis-CI를 설정하려면 다음과 같이하십시오.

  • 프로젝트 루트에 .travis.yml 파일을 추가 하십시오.
  • travis-ci.com에서 계정을 만들고 프로젝트를 활성화하십시오

당신이 얻는 기능은 다음과 같습니다

  • 트래비스는 리포지토리에서 푸시 할 때마다 테스트를 실행합니다
  • Travis는 모든 요청을 제출할 때마다 테스트를 진행합니다.

25
내 경험에 따르면 Travis를 통해 Jenkins를 사용하면 많은 문제를 해결할 수 있습니다 ( .travis.yml!) 나는 자신의 Jenkins를 실행하는 여러 개의 github 프로젝트가 있으며 그 일을 후회하지 않습니다. 자신의 Jenkins를 실행할 수 있다면 그 옵션을 강력히 권장합니다. CI 환경을 100 % 제어하는 ​​것이 좋습니다.
Simon Forsberg

21
Jenkins Pipeline 플러그인 (대부분의 상황에서 프리 스타일 프로젝트를 대체하기위한 것임)을 사용하면 파이프 라인 그루비 스크립트를 프로젝트의 파일 (일반적으로 "Jenkinsfile"이라고 함)에 배치 할 수 있습니다. Jenkins 팀이 지원하는 보너스가 추가 된 위의 Travis-CI.
KhainTCore

48

Travis와 Jenkins 모두에서 일했습니다. 두 기능의 일부를 나열하겠습니다.

프로젝트의 설치 CI

트래비스 가 처음에 온다. 설정이 매우 쉽습니다. GitHub로 설정하는 데 1 분도 걸리지 않습니다.

  1. GitHub에 로그인
  2. Travis 용 웹 후크 만들기 ( 편집 :
  3. Travis로 돌아가서 GitHub 자격 증명으로 로그인하십시오
  4. GitHub 리포지토리를 동기화하고 푸시 및 풀 요청을 활성화하십시오.

젠킨스 :

  1. 환경 만들기 (마스터 젠킨스)
  2. 웹 후크 만들기
  3. 각 작업을 구성합니다 (Travis에 비해 시간이 걸립니다).

재실행 빌드

Travis : GitHub에서 쓰기 권한이있는 사용자는`빌드 재시작 '을 클릭하여 빌드를 다시 실행할 수 있습니다.

Jenkins : 구문을 기반으로 빌드를 다시 실행하십시오. PR / 커밋 설명에 문구와 같은 문구를 제공합니다 reverify jenkins.

환경 제어

Travis : Travis는 호스팅 환경을 제공합니다. 모든 빌드에 필요한 소프트웨어를 설치합니다. 시간이 많이 걸리는 프로세스입니다.

젠킨스 : 일회성 설정. 필요한 모든 소프트웨어를 노드 / 슬레이브 시스템에 설치 한 다음 사전 설치된 환경에서 빌드 / 테스트합니다.

빌드 로그 :

Travis : Amazon S3에 배치 할 빌드 로그를 지원합니다.

Jenkins : 빌드 아티팩트 플러그인으로 쉽게 설정할 수 있습니다.


S3 란 무엇입니까?
Pooja

@Pooja Amazon S3
adrianN

30

Travis for Open source project를 제안합니다. 구성 및 사용이 간단합니다.

간단한 설정 단계 :

  1. GITHUB 계정이 있고 GITHUB 계정을 사용하여 Travis CI 웹 사이트에 등록 해야 합니다.
  2. .travis.yml프로젝트의 루트에 파일을 추가 하십시오. 저장소 설정 페이지에서 Travis를 서비스로 추가하십시오.

이제 저장소에 커밋 할 때마다 Travis가 프로젝트를 빌드합니다. Travis CI를 시작 하는 간단한 단계를 수행 할 수 있습니다 .


7
오픈 소스에 Travis CI 사용시주의 사항 : Windows가 아닌 Linux 또는 OSX에서 빌드 및 테스트를 실행합니다. 따라서 프로젝트가 .NET 또는 PowerShell 인 경우 Travis CI를 사용하려면 크로스 플랫폼 버전의 .NET (Mono 또는 .NET Core) 또는 PowerShell (PowerShell Core)로 작성해야합니다. . 보다 Windows 친화적 인 호스팅 된 CI 도구는 Appveyor입니다 .
Simon Tewsi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.