Perbandingan Server CI? [Tutup]

87

Saya sedang mencari perbandingan berbagai server integrasi berkelanjutan (CI) (khususnya yang berfokus pada .NET) dan tidak dapat menemukannya.

Oleh karena itu, saya ingin tahu pendapat Anda tentang berbagai solusi yang tersedia, apa pro dan kontra, apa persyaratan hosting dan mengapa CI Server XY adalah Server pilihan Anda.

Saya tertarik dengan pemikiran Anda tentang (silakan mengomentari orang lain untuk):

Tempat Menarik adalah:

  • Konfigurasi (mudah, fleksibel)
  • Integrasi dengan SCM (khususnya DSVC seperti git atau hg)
  • Integrasi dengan sistem build (MSBuild, NAnt, Rake)
  • Integrasi dengan Framework Pengujian
  • Integrasi dengan Anaylsis Sumber (Simian, NDepend, FxCop, NCover, dll.)
  • WebInterface / Dashboards
  • Persyaratan infrastruktur
Peter Mortensen
sumber
31
27 orang menganggap ini berguna - namun sudah ditutup. SIGH
Ryan
CruiseControl.NET pindah, setelah kolaborasi dengan Thoughtworks berakhir. Url baru: cruisecontrolnet.org
Jowen
2
@Ryan Ada banyak hal menarik di dunia ini yang tidak cocok untuk SO.
Andy Wiesendanger
Mengapa tidak Azure DevOps ?
zwcloud

Jawaban:

51

Tidak ada pertanyaan seperti ini yang lengkap tanpa tautan ke CI Feature Matrix (Arsip Web) besar yang mencantumkan hampir semua opsi CI di luar sana.

Tapi saya pikir penting untuk melihat ke depan ruang lingkup apa yang ingin Anda sertakan dalam sistem CI Anda. Apakah itu hanya akan dibangun atau Anda akan membawa elemen lain seperti analisis statis, ketergantungan lintas proyek, penerapan, tes fungsional, dll. Untuk membantu perencanaan itu, saya membuat diagram dinding ini di Elements of Enterprise CI (PDF ; tidak perlu registrasi). Tolong jangan biarkan "E-word" membuat Anda kesal; Saya hanya bermaksud hal-hal di luar membangun CI umpan balik cepat dasar. :)

Ini bukan alat khusus tetapi mencantumkan berbagai praktik yang dapat Anda pertimbangkan saat Anda berada dalam tahap perencanaan / evaluasi.

Jeffrey Fredrick
sumber
5
Ya ampun. Matriks itu menderita "DeathByOverload". UX dasar menyatakan bahwa grid besar tidak berguna kecuali ada pemfilteran. Untuk menambahkan penghinaan ke cedera, tidak ada unduhan (csv) dan penurunan harga tidak dapat diunduh secara langsung. Bahkan yang menolak menyalin ke excel ... Aku menyerah.
lihat
4
Tautan Matriks Fitur sudah mati :(
Marty
11
Halaman yang diarsipkan: web.archive.org/web/20130730154141/http://…
Darren Griffith
1
Halaman yang diarsipkan turun karena robots.txt
Sebazzz
14

Tidak ada yang membantu dalam:

EDIT : Ditunjukkan oleh Jonik dalam komentar, saya melewatkan Apa perbedaan antara Hudson dan CruiseControl untuk proyek Java? dan Bagaimana dan mengapa saya menyiapkan mesin build C #? . Anda akan menemukan jawaban yang sangat berwawasan. Dengan kata lain, menurut saya semua yang Anda cari sudah ada di Stack Overflow.

Pascal Thivent
sumber
1
Saya setuju bahwa SO sudah cukup penuh dengan perbandingan server CI. Saya tidak tahu tentang Teamcity dan CIFactory, tetapi sejauh CC (.net) dan Hudson pergi, pilihannya cukup jelas saat ini; inilah pendapat saya: stackoverflow.com/questions/604385/… . (Jangan pedulikan penekanan Java dalam pertanyaan itu; Hudson sangat bagus untuk .NET juga: stackoverflow.com/questions/616149/… )
Jonik
@Jonik Terima kasih, tautan yang sangat bagus. Saya tidak tahu bagaimana saya merindukan mereka, keduanya memberikan jawaban yang bagus dan informasi yang sangat berguna.
Pascal Thivent
"tidak tahu tentang Teamcity dan CIFactory" ... itulah mengapa saya ingin perbandingan yang tidak hanya berhubungan dengan x vs y. Itulah mengapa ini adalah wiki komunitas, silakan mengekstrak kesimpulan dari tautan yang direferensikan.
Johannes Rudolph
@Johannes, cukup adil; Saya setuju bahwa sebagian besar pertanyaan yang ada memiliki cakupan yang lebih terbatas daripada ini. Tetapi mungkin tidak banyak pengguna di sini dengan pengalaman dengan semua Hudson, CC, Teamcity dan CIFactory yang dapat memberikan perbandingan yang baik. Jika Anda memerlukan server CI, saran saya (dari pengalaman pribadi dan misalnya suara di stackoverflow.com/questions/140453/… ) adalah mencoba Hudson terlebih dahulu.
Jonik
7

TeamCity memiliki fitur luar biasa yang memungkinkan pengembang untuk melakukan pembangunan pribadi sebelum melakukan. Sangat berguna!

CruiseControl.NET adalah kakek dari kelompok itu dan karenanya sedikit tertanggal secara visual dll. Seperti yang telah ada untuk sementara waktu, Google tahu bagaimana memperbaiki banyak masalah yang akan Anda hadapi.

Untuk alasan ini (antara lain), saya menggunakan CruiseControl.NET di tempat kerja dan TeamCity di rumah dan dalam kehidupan open source saya :)

Daniel Elliott
sumber
Ah, bukankah CC.Net .net-port dari CruiseControl?
Mnementh
5

Saya adalah pengguna CruiseControl.NET. Tim saya menggunakannya di tempat kerja dan saya menggunakannya di rumah untuk proyek pribadi.

Secara khusus, CruiseControl.NET memungkinkan saya menjalankan seluruh proses CI: build, pembaruan versi, pengujian unit dan integrasi, pengarsipan kandidat sumber atau rilis, cakupan kode, bahkan penerapan ke sistem pengujian kami di tempat kerja. Ini sangat dapat disesuaikan, bekerja dengan baik dengan MSBuild dan NAnt, dan bahkan memiliki arsitektur plug-in yang dapat diperluas.

Itu cukup banyak melakukan semua yang saya butuhkan.

Kerugian terbesar: konfigurasi terkadang merepotkan, dan bisa memakan waktu. Tapi setelah selesai, selesai, dan seperti yang dikatakan poster lain, saya senang melihat sinyal "build berhasil" karena saya tahu bahwa build itu tidak hanya berfungsi, tetapi juga bahwa pengujian unit dan integrasi saya semuanya berjalan dengan sukses.

scottmarlowe
sumber
2

Team Foundation Build adalah opsi serta berinteraksi dengan sangat baik dengan Server Team Foundation. Gratis selama Anda memiliki lisensi TFS.

The Matt
sumber
Saya pikir tidak ada yang akan menyebutkan TFS Build System, terintegrasi penuh dengan TFS dan didukung oleh Microsoft. Sebagian besar pengembang .Net mungkin sudah menginstal dengan TFS.
Diego Mendes
Team Build di TFS 2015/2017 jauh lebih mudah dikonfigurasi dan digunakan, dan Anda bahkan dapat memantaunya secara real time dengan CatLight build monitor
Thomas Bennet
Mungkin ada alasan mengapa tidak disebutkan ... 2 sen saya: baru saja mulai mengerjakan proyek yang menggunakannya, kami mencoba meningkatkan otomatisasi kami dan membangun jalur pengiriman ... tetapi kadang-kadang CI "kehabisan menit "dan coba tebak ... Anda perlu membayar untuk beberapa menit. Itulah alasan saya berada di utas ini ...
Julia
1

Kami menggunakan Hudson di tempat kerja. Alasan utamanya adalah, pengaturannya sangat mudah. Anda dapat langsung menjalankan perang (ini adalah jar yang dapat dieksekusi) atau menerapkannya di wadah-servlet mana pun. Dan Anda siap untuk memulai. Hudson juga mendukung banyak alat dan dapat dikembangkan melalui sistem pluginnya.

Mnementh
sumber
1

Kami beralih dari CruiseControl.NET ke TeamCity terutama karena kemudahan konfigurasi. TeamCity juga memiliki lebih banyak fitur, tetapi alasan utamanya adalah UI Web yang bagus lebih sederhana untuk digunakan daripada file konfigurasi XML.

EDIT: Sebagian besar tugas yang akan dilakukan TeamCity di luar kotak; bila perlu kami menggunakan NAnt.

TrueWill
sumber
1

CruiseControl.NET - penyiapannya bisa sedikit merepotkan (seperti kebanyakan sistem CI), tetapi perlu dipertahankan. Saat ini saya telah menyiapkannya untuk menjalankan pengujian unit pada penyelesaian build, dan untuk menghasilkan installer Wix sesuai permintaan. Seperti yang Dan katakan, ini terlihat agak kuno, tetapi itu tidak masalah, karena ini memberi Anda banyak informasi yang mudah didapat dan mudah dibaca.

Satu hal - pastikan semua pengembang Anda telah menginstal CC Tray, menjalankan dan menunjuk ke build mereka. Senang rasanya mendapatkan "Versi sukses lainnya" di baki notifikasi Anda.

Pete OHanlon
sumber
0

Kami menggunakan ccnet di tempat kerja, yang baik-baik saja untuk sebagian besar kebutuhan kami (kami memiliki sekitar 50 build otomatis), tetapi memerlukan satu orang untuk menyesuaikan dan memperbaiki secara penuh waktu.

Jika Anda memulai dari awal, silakan lihat Bamboo. Kami telah memeriksanya dan sepertinya sangat menjanjikan, tetapi tidak sepenuhnya sesuai dengan kebutuhan kami dan kami telah menginvestasikan terlalu banyak waktu di ccnet untuk beralih ke Bamboo sekarang.

Salam,

Sebastiaan

Sebastiaan M
sumber
0

Saya mewarisi server luntbuild. Bukan pilihan yang baik untuk proyek .NET. Jika Anda menemukan bahwa Anda terus-menerus menggunakan server build untuk menjalankan tugas baris perintah umum, maka ada sesuatu yang salah. Server build yang baik memiliki pemahaman yang baik tentang keluaran pengujian unit dan tugas-tugas msbuild karena lebih dari sekadar perintah buram yang harus dijalankan ketika sistem kontrol sumber berubah.

Saya menikmati bermigrasi ke Team City.

MatthewMartin
sumber
0

Saya cukup baru di CI-scene dan saya telah memusatkan upaya saya pada CruiseControl.NET, menggunakan NAnt dan Ivy untuk membangun proyek .NET saya.

Saya telah menemukan bahwa CruiseControl.NET sangat mudah beradaptasi dengan banyak alat lain, seperti NCover / NUnit / etc. Mereka semua terhubung ke ini dan mengintegrasikan hasil untuk proses build gabungan.

Saya akan melihat TeamCity dalam waktu dekat untuk kepentingan saya sendiri, tetapi menurut saya CruiseControl melakukan pekerjaan dengan baik, tetapi hanya sebagus skrip build Anda! Jika ini adalah celana, maka tubuh Anda hanya bisa diharapkan sebagus itu.

Namun secara ringkas, CruiseControl.NET adalah solusi yang baik, tetapi saya belum mengetahui seberapa bagus persaingan dalam perbandingan.

Brett Rigby
sumber
0

Kami senang dengan Hudson . Saya tidak memiliki apa pun untuk membandingkannya, tetapi itu sederhana untuk dikonfigurasi dan dijalankan. Saat ini itu hanya membangun proyek Win32 C ++ dan penginstal, tetapi kami porting ke Linux dan itu harus bekerja dengan itu juga.

Mendapatkan repositori Subversion tanpa masalah dan mengirimkan peringatan, dll. Sejauh ini kami menyukainya. Sekali lagi, kami memiliki pengalaman terbatas dengan perbandingan.

Peter Mortensen
sumber
0

Saya telah bekerja dengan CruiseControl.NET, TFS 2012 dan TeamCity 7.x selama beberapa tahun dan saya yakin TeamCity adalah yang TERBAIK karena kemudahan penggunaan, UI yang nyaman dan informatif serta fitur keren lainnya seperti dependensi build dan banyak lagi. Ini berhasil, saya menyukainya.

Alon Amsalem
sumber