Saya telah mengerjakan dan dengan alat Integrasi Kontinu sejak yang melahirkan Cruise Control (versi java). Saya sudah mencoba hampir semuanya di beberapa titik. Saya tidak pernah lebih bahagia daripada saya bersama TeamCity. Ini sangat mudah untuk disiapkan dan masih memberikan banyak daya. Halaman statistik build yang menunjukkan waktu build, jumlah pengujian unit, tingkat kelulusan, dll. Sangat bagus. Halaman beranda proyek TeamCity juga sangat berharga. Untuk proyek .NET sederhana, Anda cukup memberi tahu TeamCity di mana solusinya dan rakitan apa yang memiliki pengujian dan hanya itu yang dibutuhkannya (selain lokasi kendali sumber). Kami juga telah menggunakan beberapa skrip MSBuild yang rumit dengannya dan menyelesaikan build chaining. Saya juga telah melalui dua peningkatan TeamCity dan itu tidak menyakitkan.
CruiseControl.NET juga bekerja dengan baik. Ini lebih sulit untuk disiapkan tetapi memiliki riwayat yang lebih panjang sehingga mudah untuk menemukan solusi di web. Karena CruiseControl.NET adalah open source, Anda juga memiliki opsi untuk menambah atau mengubah apa pun yang Anda suka. Saya telah menggunakan CruiseControl.NET sejak dirilis dan menulis beberapa kode awal untuk cc.tray (untungnya ditulis ulang oleh seseorang yang lebih tahu).
Cruise, dari ThoughtWorks, juga terlihat cukup bagus tapi saya tidak melihat alasan kuat untuk beralih. Jika saya memulai sebuah proyek baru, saya mungkin akan mencobanya, tetapi TeamCity telah melakukan pekerjaan yang hebat dengan membuat hal-hal sederhana menjadi sederhana sambil membuat kompleksnya tidak menimbulkan rasa sakit.
Sunting: Kami baru saja meningkatkan ke TeamCity 5.0 beberapa minggu yang lalu dan itu adalah peningkatan tanpa rasa sakit lainnya. Ini memungkinkan kami memanfaatkan kemampuan cakupan kode yang ditingkatkan dan dukungan GIT. Kami juga sekarang menggunakan fitur build pribadi dan komit yang telah diuji sebelumnya yang telah ada selama beberapa waktu. Saya hanya berpikir saya harus memperbarui jawaban untuk menunjukkan bahwa TeamCity terus meningkat dan masih mudah digunakan.
Saya dulu / saya penggemar berat CC.NET. Saat ini kami memiliki 5 proyek di CruiseControl, dan berfungsi dengan baik. Menulis file konfigurasi dengan tangan bisa jadi menyakitkan tapi tidak apa-apa.
Tapi .
Setelah Kona: Continuous Integration and Better Unit Testing screencast (1/3 pertama tentang TeamCity), saya akan memeriksa TeamCity juga. Saya suka dasbor pengujian unit terintegrasi dan antarmuka konfigurasi.
Saya pikir semua orang harus menonton video ini sebelum memilih CC.NET atau TeamCity.
ps: Saya harap ada video CC.NET yang berharga juga di internet.
sumber
Server CI favorit saya sejauh ini adalah Hudson. Mudah diatur dan dipelihara, banyak grafik bagus untuk menunjukkan tren kepada pengembang dan non-pengembang, dan gratis.
Saya menggunakan TeamCity saat ini dalam sebuah proyek dan saya secara umum menyukainya, tetapi banyak grafik yang dihasilkannya tidak terlalu berguna, dan lebih rumit untuk dikonfigurasi daripada Hudson.
Meski begitu, TeamCity sangat kuat, gratis untuk banyak kegunaan, dan memiliki satu fitur mematikan: Remote Run. Anda dapat "melakukan pra-komitmen" check-in Anda langsung dari IDEA atau Eclipse, menjalankan satu atau beberapa konfigurasi build di server TeamCity, dan hanya melakukan perubahan jika build berhasil (misalnya, kompilasi dan semua pengujian lulus).
Mengingat bahwa Anda dapat mengaktifkan dan menjalankan TeamCity dan Hudson dalam beberapa jam, mungkin ada baiknya mengambil keduanya dan menjalankannya secara berdampingan, bersama dengan yang lain (seperti CruiseControl) yang dapat Anda pikirkan. Jika Anda tidak dapat menerima server CI dengan cepat untuk melakukan perbandingan secara berdampingan, maka setidaknya Anda memiliki titik data untuk kemudahan instalasi dan / atau konfigurasi.
sumber
Saya telah menggunakan keduanya dengan sukses pada proyek yang berbeda. Dari segi pengaturan dan administrasi, Team City jauh lebih mudah untuk ditangani. Anda tidak perlu meretas file .config seperti yang Anda lakukan dengan CC dan pengaturannya sangat mudah. Karena Anda tidak memiliki banyak proyek, saya akan merekomendasikan Team City daripada CC sampai Anda mencapai titik bahwa Team City berharga $$.
sumber
Saya telah menggunakan CC.net dan TeamCity. Saya ditugaskan untuk menyiapkan dan menginstal TeamCity untuk organisasi saya (5 pengembang). Organisasi kami menggunakan beberapa alat dan praktik yang tidak umum (setidaknya, untuk organisasi seukuran kami), seperti Perforce untuk kontrol sumber dan beberapa agen build yang berjalan pada sistem operasi heterogen, yang menyebabkan beberapa masalah penyiapan awal. Namun, dukungan melalui email benar-benar terbaik dalam menyiapkan semuanya. Saya menerima jawaban atas pertanyaan bodoh saya dalam hitungan menit.
Antarmukanya intuitif dan responsif, serta penuh fitur. Produknya terasa sangat mahal. Konfigurasi mudah, dan antarmuka web cukup cerdas untuk memperbarui dirinya sendiri tanpa memulai ulang layanan agen atau server, atau bahkan menyegarkan laman.
Saya merasa kami menggunakan hampir semua fitur lanjutan dari produk dan sejauh ini tidak menemukan bug sama sekali. Integrasi ndepend, skrip NAnt bertingkat, pelabelan versi Perforce, sebut saja, kami sedang melakukannya.
Saya sangat merekomendasikan TeamCity kepada siapa pun yang mencari server integrasi berkelanjutan, atau server build apa pun, sungguh.
sumber
Tanpa ingin memberikan alat alternatif kepada Anda :-)
Hudson adalah alternatif open source yang hebat, saya telah menggunakan CC dan CC.net, dan saya akui menurut saya mereka adalah alat yang luar biasa. Saya sedang mempertimbangkan untuk beralih ke hudson karena tampaknya jauh lebih mudah untuk diatur dan dipelihara.
https://hudson.dev.java.net/
sumber
Pastikan sistem yang Anda putuskan sesuai dengan jumlah proyek yang Anda perlukan untuk ditangani ...
Saya menggunakan CruiseControl.Net tetapi saya tidak akan merekomendasikannya untuk membangun banyak proyek ... Saya memiliki pengaturan (mungkin sedikit aneh) di mana saya memiliki banyak pustaka statis C ++ yang saya buat ke dalam aplikasi. Setiap pustaka bergantung pada pustaka lain dan aplikasi menarik satu set pustaka dan build. Setiap lib memiliki rangkaian pengujian. Setiap aplikasi memiliki rangkaian pengujian. Saya membangun untuk 5 kompiler dan variasi platform (windows).
Hal pertama yang saya temukan adalah bahwa pemicu proyek CC.Net tidak benar-benar sesuai dengan yang Anda butuhkan dan pemicu multi tidak berfungsi dengan baik dengan pemicu proyek. Cara kerja pemicu proyek (mereka menggunakan remote untuk menyambung ke server tempat proyek disimpan (meskipun itu adalah proyek yang dikelola oleh contoh yang sama dari CC.Net) dan kemudian menarik semua proyek dari server itu dan mencari daftar secara berurutan mencari proyek yang Anda minati ...) berarti proyek tersebut tidak berkembang dengan baik. Setelah Anda mendapatkan di atas sejumlah proyek tertentu, Anda akan menemukan bahwa CC.Net mengambil sebagian besar CPU untuk mesin build Anda.
Tentu saja, ini open source, jadi Anda dapat memperbaikinya ... Dan, saya yakin tidak masalah untuk sejumlah kecil proyek yang tidak saling bergantung.
Untuk detail lebih lanjut tentang masalah yang saya miliki dan beberapa patch untuk CC.Net lihat di sini http://www.lenholgate.com/archives/cat_ccnet.html
sumber
Saya baru saja menyiapkan cc .net. Ini adalah aplikasi yang bagus tetapi membutuhkan sedikit kesabaran. Anda akan mengedit file konfigurasi di banyak notepad :)
Sudah ada beberapa lama sehingga didukung dengan baik dan Anda biasanya dapat menemukan seseorang yang telah melakukan apa yang ingin Anda lakukan sebelumnya. Antarmuka web adalah .net juga yang merupakan nilai tambah bagi kami karena kami adalah toko Microsoft.
Saya belum menggunakan TeamCity tetapi saya telah mendengar beberapa rekomendasi tentangnya dan tampilannya cukup bagus.
sumber
Saya memiliki pengalaman menyiapkan dan menjalankan CruiseControl (versi Java) di Linux selama perusahaan saya sebelumnya. Seperti yang disarankan kebanyakan orang, ini bukanlah hal yang paling sepele untuk diatur. Anda perlu memahami kerangka kerjanya untuk menghasilkan konfigurasi yang bisa diterapkan / dikelola. Namun, setelah Anda melewati punuk itu, saya merasa CruiseControl cukup fleksibel untuk memungkinkan Anda melakukan berbagai macam hal agar sesuai dengan skenario yang berbeda.
Selain dokumentasi CruiseControl, halaman wiki -nya juga memiliki beberapa informasi berguna.
Saya tidak memiliki pengalaman langsung dengan TeamCity. Padahal fitur pre-test commitnya terlihat cukup menarik.
Alat CC lain yang mungkin Anda lihat adalah Bamboo dari Atlassian. Jauh lebih mudah untuk mengatur dan antarmukanya lebih bagus. Padahal, itu tidak sefleksibel seperti yang ditawarkan CruiseControl.
sumber
Opsi ketiga yang mungkin ingin Anda pertimbangkan: Thoughtworks 'Cruise. Itu dibangun di atas CruiseControl, tetapi menawarkan lebih banyak fitur, pengaturan yang lebih mudah, dll, dll. Tidak gratis (atau open source).
http://studios.thoughtworks.com/cruise-continuous-integration
sumber
Saya telah menggunakan Teamcity selama 1 setengah tahun terakhir, dan memiliki pengalaman yang luar biasa. Saya telah mengintegrasikan sejumlah proyek .Net dan Java dan menggunakan alat seperti MSBuild, Maven, dll. Saya menemukan Teamcity cukup mudah untuk disiapkan dan dikerjakan. Saya telah berhasil menjalankan CI untuk beberapa proyek sql juga yang merupakan sedikit mimpi buruk yang bisa menjadi lebih buruk dengan alat CI lainnya.
Baru-baru ini ditingkatkan ke Teamcity 8.0.6 yang tidak menimbulkan rasa sakit. Teamcity juga menyediakan REST API yang sangat berguna untuk beberapa skenario. Jika Anda menggunakan PowerShell untuk mengotomatiskan build, sejumlah skrip integrasi Psake / Teamcity tersedia di GitHub
sumber