Saya mencoba membuat beberapa perubahan positif di perusahaan saya dan salah satu perubahannya adalah menerapkan integrasi berkelanjutan. Kami melakukan pengembangan seluler (iOS / Android) jadi saya memerlukan CI yang mendukung kedua jenis proyek. Seperti yang Anda tahu, saya tidak tahu banyak tentang CI tapi saya sudah sedikit googled dan saya pikir Jenkins dan Hudson adalah dua yang paling populer.
Saya punya dua pertanyaan bagian.
- Pikiran Anda pada Jenkins?
- Apakah ada cara bagi CI untuk memeriksa apakah proyek dikompilasi dengan
standar pengkodean (seperti kopling longgar dan sebagainya)?
Jawaban:
Pertama, Anda mungkin ingin melihat TeamCity sebagai opsi lain untuk server Anda.
Dalam pandangan saya (meskipun saya agak kurang pengalaman dengan Jenkins dibandingkan dengan TeamCity) keduanya adalah alat yang sangat baik dan sangat mampu - saya akan senang di lingkungan menggunakan keduanya.
Ok, untuk sampai ke daging yaitu masalah
Pada tingkat yang paling mendasar semua yang dilakukan oleh server CI adalah menjalankan skrip dan kemudian menafsirkan dan menyajikan hasil menjalankan skrip itu - jadi jika Anda dapat skrip maka server CI Anda mungkin dapat menjalankannya dan jika Anda dapat memformat output dengan tepat maka server CI mungkin dapat menginterpretasikan dan melaporkan hasilnya.
Tentu saja server build utama sudah mampu berbicara dengan / mengintegrasikan dengan banyak alat populer - jadi benar-benar pertanyaan menjadi alat apa yang Anda gunakan untuk memeriksa standar pengkodean Anda dan apakah itu berintegrasi dengan server CI pilihan Anda.
Ya, server CI membawa lebih banyak ke permainan dalam hal otomatisasi daripada hanya menjalankan skrip tanpa berpikir - tetapi pada akhirnya itulah yang dilakukannya.
Untuk lebih jelasnya - saya tahu bahwa server build tidak hanya menjalankan skrip, ini adalah otomatisasi proses (dan khususnya integrasi dengan (D) VCS) yang menambah nilai - tetapi dalam menjawab "apa yang saya butuhkan untuk server build "pertanyaan jawabannya adalah" server dan skrip "semuanya mengalir dari sana.
sumber
Saya mendukung rekomendasi TeamCity - ini adalah produk hebat. Saya tidak dapat berbicara dengan Android karena saya tidak punya waktu duduk di sana, tetapi saya telah berhasil menjalankan proyek iOS dalam CI berkat dua artikel ( 1 2 ).
Bagian-bagian paling sulit benar-benar ada hubungannya dengan mendapatkan mac untuk menjalankan build otomatis dengan gantungan kunci yang tepat dan semacamnya sehingga Anda dapat membuat aplikasi yang ditandatangani yang dapat Anda gunakan ke iDevice daripada opsi emulator-only.
sumber
Saya telah menyiapkan server build dan skrip perusahaan kami sebelum menggunakan Jenkins tempat kami mengembangkan aplikasi iOS. Seperti banyak yang mengatakan, server CI sangat sederhana dan saya suka Jenkins karena ini gratis / open source dan memiliki banyak plugin seperti laporan cakupan publising atau integrasi github.
sumber