Travis CI는 호스팅 된 지속적인 통합 및 배포 시스템입니다. 이제 Travis-ci.com에서 오픈 소스 및 개인 프로젝트를 테스트하고 배포 할 수 있습니다! 이 변경 사항에 대한 자세한 내용은 여기를 참조하십시오.
우리는 새로운 커뮤니티 포럼으로 이사하고 있습니다 : Travis CI Community! 이 움직임의 일환으로, 우리는 솔루션과 답변을보다 쉽게 찾을 수 있도록 더 잘 팔로우하고 스레드에 응답 할 수 있습니다. 우리는 현재 기존 스레드에 답하거나 새로운 커뮤니티 포럼으로 안내하기 위해 최선을 다할 것입니다.
커뮤니티 포럼 링크 : https://travis-ci.community
느린 네트워크 연결과 같은 현재 중단 및 사건의 경우 https://www.traviscistatus.com을 구독하십시오.
다른 지원 문제는 지원 팀이 기꺼이 도와 드리겠습니다.
이 저장소에는 Travis CI 프로젝트의 중앙 문제 추적기가 포함되어 있습니다.
Travis CI 프로젝트에 대한 문서는 https://docs.travis-ci.com에서 찾을 수 있습니다.
Travis CI는 여러 가지 하위 프로젝트로 구성됩니다. 주요 것은 다음과 같습니다.
Travis-Api는 API를 제공하는 Sinatra 앱입니다. 다양한 HTTP 엔드 포인트에 응답하고 Travis-Core에서 서비스를 실행합니다. 이 저장소에는 거의 논리가 거의 없습니다.
Travis-Build는 각 작업에 대한 빌드 스크립트를 만듭니다. .travis.yml
파일에서 구성을 가져 와서 bash
스크립트를 작성하여 Travis-Worker가 빌드 환경에서 실행합니다. 이 저장소는 또한 언어 별 스크립트 소스를 호스팅합니다.
Travis-Cookbooks는 빌드 환경을 제공하는 데 사용되는 요리사 요리 책을 보유하고 있습니다.
Travis-Hub는 다른 앱에서 이벤트를 수집하고 이벤트에 대한 다른 앱에 알립니다. 예를 들어, 빌드 시작 및 마감에 대한 트래비스 작업에 알림 알림을 전송할 수 있습니다.
Travis-Hub는 또한 생성 된 작업 및 사용자 당 동시 빌드 수와 같은 서비스 품질 제한을 시행하는 일을 담당합니다.
Travis-Listener는 커밋이 푸시되거나 풀 요청이 열릴 때마다 GitHub로부터 알림을받습니다. 그런 다음 다른 앱이 처리하기 위해 RabbitMQ로 밀려납니다.
Travis-Logs는 Travis-Worker로부터 로그 업데이트를 받고 데이터베이스에 저장하여 웹 클라이언트로 밀어 넣습니다. 작업이 완료되면 Travis-Logs는 아카이브를 위해 로그를 Amazon S3로 밀어 넣을 책임이 있습니다.
Travis-Support는 다양한 Travis CI 앱에 대한 공유 논리를 보유하고 있습니다. Travis 코어는 비동기 작업을 실행하는 방법이나 예외를 처리하는 방법과 같은 일반적인 것들을 가지고 있다는 점에서 트래비스 코어와 다릅니다.
Travis-Tasks는 Travis-Hub로부터 알림을 받고 필요에 따라 다른 알림 제공 업체에 알림을 보냅니다.
Travis-Web는 주요 웹 클라이언트입니다. Ember를 사용하여 작성되었으며 Travis-Api와 통신하여 정보를 얻고 Travis-Hub 및 Travis-Logs에서 푸셔를 통해 라이브 업데이트를 얻습니다.
Travis-Worker는 깨끗한 환경에서 빌드 스크립트를 실행할 책임이 있습니다. 로그 출력을 Travis-Logs로 스트리밍하고 상태 업데이트 (시작/마감)를 Travis-Hub로 푸시합니다.