UFO ET IT

소규모 .NET 오픈 소스 프로젝트를위한 지속적인 통합

ufoet 2020. 11. 18. 21:51
반응형

소규모 .NET 오픈 소스 프로젝트를위한 지속적인 통합


저는 작은 오픈 소스 프로젝트를 시작하고 있으며, 저 자신이 당분간 유일한 기여자입니다. 그래도 지속적인 통합 설정이 빌드가 손상되었는지 여부를 감지하는 데 유용 할 것이라고 생각합니다 .

소규모 프로젝트에 적합한 무료 호스팅 연속 통합 서버가 있습니까? 인터넷 검색이 CodeBetter를 찾았 지만 막 시작되는 1 인 프로젝트를 수락할지 확신 할 수 없습니다.

저는 TeamCity를 선호 하지만 제안에 개방적입니다.

참고- 호스팅 솔루션은 필수입니다. 지속적 통합 서버를 설정하고 유지하고 싶지 않기 때문에 "TeamCity"또는 "CruiseControl"과 같은 답변은 관련이 없습니다.

특정 요구 사항 :

  • GitHub 에서 내 프로젝트를 호스팅 하고 있으므로 지속적 통합 서버에 Git 통합이 필요합니다.
  • 지속적 통합 서버에서 .NET 통합 (단위) 테스트를 실행하고 싶습니다.
  • 가지고 있으면 좋습니다 -MySQL 서버에 대한 액세스 권한도 필요 합니다 (내장 SQLite 를 사용하도록 테스트를 수정할 수 있지만 현재 외부 MySQL 서버에 대해 실행 됨).

스레드가 꽤 오래 되었다는 것을 알고 있지만 여전히 답변을 찾고있는 사람들 에게는 AppHarbor를 살펴 보는 것이 좋습니다.

Github 및 Bitbucket과의 통합을 설정하는 것은 매우 간단하며 " addon "옵션을 통해 무료로 기본 db 연결을 사용할 수 있습니다.

신생 기업에 매우 편리합니다.


AppVeyor 는 Github와 잘 통합되어 있으며 오픈 소스 프로젝트에 무료이며 설정이 매우 쉽습니다.

빌드는 YAML 또는 UI를 사용하여 구성됩니다. 무료 계정은 한 번에 하나의 빌드로 제한됩니다. NuGet에 대한 배포는 물론 프로젝트 및 계정 피드도 지원됩니다. 예를 들어 릴리스 생성을 허용하는 등 GitHub와 긴밀하게 통합됩니다. 빌드 매트릭스, AssemblyInfo 패치, 롤링 빌드, 빌드 우선 순위 지정, 상태 배지, 빌드 알림 등을 지원합니다.


Travis 는 잘 알려진 CI (그리고지금까지 가장 인기있는 호스팅 CI 인 것으로 보임)이며 이제 C #, F # 및 VB 프로젝트 빌드 지원합니다 . 주의 할 점은 Linux와 Mono 만 지원하며 베타 버전이라는 것입니다 ( "언제든지 제거하거나 변경할 수 있음").


MyGet 은 호스팅 된 패키지 서버이지만 이제 Build Services (현재 미리보기) 및 기타 기능 도 지원 합니다 . 공개 피드 (최대 500MB)에는 무료이며 승인 된 오픈 소스 프로젝트 (더 큰 저장소 및 갤러리)에대해 약간 더 나은 기능을 제공합니다. 빌드 서비스는 NuGet 피드, MyGet 피드, SymbolSource 통합 등 패키지에 최적화되어 있습니다.


이것은 이제 Microsoft에서 Team Foundation Server를 통해 최대 5 명의 팀에 대해 무료로 제공합니다 .

다음을 제공합니다.

  • 소스 제어 : TFS, Git
  • 애자일 계획 : 애자일, 스크럼, CMMI
  • 연속 빌드
  • 협동
  • 완성
  • 테스트 실행
  • 전개

Visual Studio Team Services 에는 호스팅 코드가 필요하지 않으며 GitHub 또는 모든 Git 리포지토리 에서 코드를 가져올 수 있습니다 .

프로젝트가 작고 구축에 필요한 복잡한 요구 사항이없는 경우 호스팅 풀 을 사용하여 CI 구축을 수행 할 수 있습니다. 사용 가능한 소프트웨어, 한 번에 하나의 빌드, 1 시간의 제한 시간 등 몇 가지 제한이 있습니다. 충분하지 않은 경우 컴퓨터에서 스크립트를 실행하여 자체 빌드 에이전트를 추가 할 수 있습니다.

GitHub 지원이 완전하지는 않지만 (예를 들어 풀 요청이 빌드되지 않음) 대부분의 기능이 지원됩니다. Shields.io는 아직 VSO를 지원하지 않지만 사용자 지정 방패를 사용할 수 있습니다.

오픈 소스 프로젝트의 주요 단점은 빌드 로그, 테스트 결과 및 기타 데이터가 공개되지 않는다는 것입니다. 무료 계정으로 5 명의 사용자 만 프로젝트에 액세스 할 수 있습니다. UserVoice 에 공개 프로젝트를 가능하게하기 위한 제안이 있습니다.


CodeHaus도 살펴보십시오.

http://codehaus.org/

그들은 Atlassian의 Bamboo CI 소프트웨어를 사용합니다.

의견이 없습니다.


이러한 서비스는 특정 규칙, 하드웨어, 가격을 의미하는 CPU, RAM, 디스크 집약적이기 때문에 실제 무료 ( 모든 프로젝트, 모든 언어에 대해 의미 ) 호스팅 CI 서비스 를 쉽게 찾을 수 있다고 생각하지 않습니다 .

일부 제안의 경우 Outsourcing Continuous Integration 또는 이 질문을 여기에서 살펴보십시오 . 모든 솔루션을 자세히 살펴 보지 않았기 때문에 요구 사항 (언어, 도구 및 가격)을 충족하는지 알 수 없습니다.

또는 The Codehaus ( EDIT : .NET 프로젝트 AFAIK의 옵션이 아님 ) 또는 CodeBetter 와 같은 오픈 소스 프로젝트에 지속적인 통합을 제공하는 대장간에 합류하십시오 . 이것은 확실히 당신의 프로젝트를 받아들이 기 위해 약간의 노력을 필요로 할 것입니다 (실제로 IMHO는 거의 없습니다).


OnCheckin을 사용하기 시작했습니다.

https://oncheckin.com/

그들은 독점적으로 .NET 프로젝트를 제공합니다.


정답은 누군가가 이런 종류의 일에 사용할 수있는 EC2 이미지 세트를 만드는 것이므로 사용자는 Amazon을 사용하거나 편집증이있는 경우 방화벽 내부에 Eucalyptus에 자체 클라우드를 구축 할 수 있습니다. , 이러한 이미지를 만드는 데 드는 시간과 비용을 절약 할 수 있습니다.


MikeCI is an affordable hosted CI service, from $10 per month you can have a cloud build set up in minutes. It currently supports Ruby, Maven and Ant. It has a Free 30 day trial so you can try it and see what it's like. I personally think it's great, plus I think they're looking to support .Net and Objective C!

here's their site http://www.mikeci.com


I know this is probably an old thread, but

Here's another option:

Checkout Jenkins.

It does supports Jenkins.NET which I'm using right now.

And here's another SO-RELATED-THREAD: TFS 2008/2010 vs Jenkins for Continuous Integration


There's RunCodeAt, which Pascal's comment pointed me to. It is super easy to integrate with github, which I happen to host my project on. I'll give it a try.

참고URL : https://stackoverflow.com/questions/1991071/continuous-integration-for-a-small-net-open-source-project

반응형