Jenkins vs Azure DevOps Pipeline


12

Saya telah melakukan beberapa penelitian pada solusi Azure DevOps yang baru-baru ini diluncurkan Microsoft .

Beberapa latar belakang, saya telah menggunakan Jenkins selama bertahun-tahun, dan baru-baru ini mulai menjelajahi lubang kelinci containerisation (Docker, Kubernetes, dll),

Saya tidak yakin tentang beberapa aspek dari Azure DevOps Pipelines, dan akan luar biasa untuk mendapatkan umpan balik dan kejelasan.

TL; DR

  1. Apakah Azure DevOps sekarang bersaing dengan Jenkins, di mana mereka sebelumnya mendukung komunitas Jenkins melalui plugin open source untuk Jenkins?
  2. Apakah mungkin bagi saya untuk meng-host Pipa Azure DevOps sepenuhnya berdasarkan premis, bukan hanya agen?
  3. Apakah mungkin untuk menggunakan solusi git yang di-host sendiri (seperti GitLab di tempat) dengan Azure DevOps Pipelines?

Versi yang lebih panjang

  1. Microsoft telah mengembangkan berbagai plugin open-source untuk Jenkins, seperti plugin Azure App Service Jenkins . Ada banyak contoh. Bagi saya sepertinya solusi Azure DevOps (khusus Pipelines) sekarang bersaing langsung dengan Jenkins, atau apakah saya kehilangan sesuatu?
  2. Bagi saya sepertinya tidak ada cara untuk meng-host solusi Azure Pipelines di lokasi, atau di penyedia cloud pilihan saya. Ya, saya dapat meng-host agen saya sendiri di mana sebagian besar pekerjaan dilakukan, tetapi eksekusi sebenarnya dari pipeline logic terjadi di server Microsoft. Dan kemudian saya harus membayar untuk pekerjaan paralel . Saya membandingkan ini dengan contoh lokal (atau penyedia cloud pilihan) yang dihosting Jenkins, di mana tidak ada pembayaran yang diperlukan, dan tidak ada pihak ke-3 yang bahkan menyadari bahwa jaringan pipa kami sedang beroperasi. Apakah saya melewatkan sesuatu?
  3. Dari apa yang bisa saya katakan, Azure Pipelines tidak memiliki dukungan untuk repositori yang di-host sendiri, saya juga meletakkan kode saya di GitHub atau pada repositori Azure , tidak ada yang lain. Jadi, saya bahkan tidak bisa menggunakan solusi Pipelines ini jika saya memiliki instance GitLab yang di-host secara pribadi?

Terima kasih atas masukannya.


2
Bisakah saya menyarankan memecah pertanyaan ini menjadi yang terpisah? Pertanyaan yang ada sepertinya lebih seperti undangan untuk membahas pendapat. Jika Anda dapat memisahkannya menjadi pertanyaan individual, mereka dapat dijawab dengan lebih baik.
Bruce Becker

Hai Apakah Anda punya jawaban untuk semua pertanyaan ini?
user10804

Azure Devops tidak dapat di-host di lokasi, tetapi TFS dapat yang pada dasarnya adalah hal yang sama tetapi mendapatkan pembaruannya sedikit lebih lambat. Kami menggunakan TFS 2018 pada prem dan hebatnya
Rich

Apakah ini pertanyaan nyata? Bagi saya sepertinya FUD tanpa penelitian yang sebenarnya.
Carles Company

Pertanyaan bagus! Sudahkah Anda mencapai jawaban atas pertanyaan Anda? Jika demikian, harap tulis sehingga komunitas dapat memperoleh manfaat darinya.
rodrigogq

Jawaban:


4

Saya juga ingin mendapatkan kejelasan mungkin dari sumber yang lebih otoritatif daripada saya (saya yakin saya juga bersalah atas FUD).

Saya sudah mencari untuk menyebarkan ke Azure menggunakan Kubernetes. Saya juga sama bingung tetapi saya pikir itu karena tidak ada satu jalan yang jelas. Saya tidak dapat berbicara untuk Microsoft, tetapi sikap mereka terhadap cloud tampaknya mereka senang menjadi " segalanya untuk semua pria ". Jika Anda menggunakan Azure, Microsoft tampaknya tidak memiliki pendapat yang kuat tentang bagaimana Anda sampai di sana.

Microsoft secara aktif berusaha untuk berkembang; misal Linux sekarang mendominasi Azure


Jelas pipa penyebaran Azure DevOps melakukan apa yang bisa dilakukan Jenkins - jadi dalam arti itu adalah pesaing. Ada juga harga Azure DevOps yang sedikit mengecewakan di muka untuk pipa paralel.

Di satu sisi, Azure DevOps tampaknya merupakan re-branding dari Layanan Tim Visual Studio. Jadi itu akan akrab bagi orang-orang yang sudah berada dalam ekosistem pengembangan Microsoft tradisional. Pada saat yang sama Microsoft melakukan upaya besar untuk merangkul teknologi yang tidak secara tradisional Microsoft ( Go, Java, Node.js, Python, Ruby, PHP dll).

Ini adalah hari-hari awal - tetapi tidak mengherankan bahwa saluran pipa Azure DevOps harus lebih memilih properti Microsoft Git dari Azure Repos dan GitHub. Dengan cara yang sama seperti pipa BitBucket lebih suka pipa BitBucket dan GitLab lebih suka GitLab.


Sementara itu;

Azure Marketplace menawarkan penyebaran Jenkins yang dilengkapi dengan plugin penyebaran Azure di luar kotak.

Banyak plugin Jenkins telah dikembangkan oleh tim Azure DevOps .


sebagai tambahan;

Microsoft telah mendukung proyek-proyek terkait Helm dan Draft Kubernetes . Helm adalah manajer paket untuk Kubernetes. Anda bahkan dapat menggunakan Helm untuk menyebarkan instalasi Jenkins ke Kubernetes.

-

Akan menarik untuk melihat seseorang menimbang manfaat, biaya dan upaya menjalankan Jenkins Anda sendiri dalam ayat-ayat Azure menggunakan pipa Azure DevOps.

... dan kemudian ada Jenkins-X .

Jadi sepertinya kita memiliki banyak pilihan dan keputusan untuk dibuat.


2

Sebagai jawaban untuk bagian 2 (mungkin), sepertinya mereka melemparkannya sebagai alternatif untuk Jenkins, meskipun ada banyak dokumentasi yang menunjukkan bahwa semuanya dapat digunakan bersama-sama (dan di sini ). Namun, ketika digunakan dengan Jenkins, tampaknya lebih difokuskan pada jembatan penempatan. Saya berharap bisa menggunakannya sebagai agen pembangun dengan Jenkins sebagai orkestra, seperti yang bisa saya lakukan dengan Jenkins & AWS CodeBuild. Saya belum melihat ada yang menyarankan saya bisa melakukannya, tapi mungkin ... penyebaran multi-cloud sangat menarik meskipun ...


2
  1. Ya, karena Azure Pipelines dapat melakukan apa yang dilakukan Jenkins. Namun, Anda tidak perlu membuang bayi dengan air mandi. Microsoft terus memposisikan platform mereka sedemikian rupa sehingga integrasi dapat terjadi dengan instalasi apa pun yang ada. Banyak org yang memiliki investasi besar dalam tooling yang sulit diubah. Alih-alih mengambil sikap semua-atau-tidak sama sekali, Microsoft menerapkan standar dan membawa mentalitas Anda sendiri, memberi Anda pilihan utama tentang bagaimana Anda ingin mengimplementasikan alat-alat tersebut.

  2. Agen secara teknis adalah pipeline Anda sebagai tugas yang dijalankan pada agen yang ditargetkan dalam pipeline. Yang Anda konfigurasikan di dalam portal adalah langkah-langkah yang akan dilakukan oleh pipeline. Agen mengunduh alat / ekstensi yang diperlukan untuk menjalankan tugas. Selain itu, dengan jalur pipa YAML baru, jalur pipa didefinisikan dalam repo kode Anda. Sejauh menyangkut hosting, Anda dapat meng-host Server Azure DevOps sepenuhnya di lokasi, dalam penyedia cloud apa pun, atau kombinasi dari Azure VM dan Azure SQL.

  3. Repositori Generic Git didukung di Layanan Azure DevOps menggunakan editor klasik atau keduanya YAML dan editor klasik jika menggunakan Server Azure DevOps (on-prem) saat ini. Anda dapat menambahkan integrasi repositori GitLab dengan menginstal ekstensi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.