3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

Penerapan Berterusan ialah pendekatan khas dalam pembangunan perisian yang digunakan untuk melaksanakan pelbagai fungsi dengan pantas, selamat dan cekap dalam perisian.

Idea utama adalah untuk mencipta proses automatik yang boleh dipercayai yang membolehkan pembangun menghantar produk siap dengan cepat kepada pengguna. Pada masa yang sama, perubahan berterusan dibuat kepada pengeluaran - ini dipanggil saluran paip penghantaran berterusan (CD Pipeline).

Skillbox mengesyorkan: Kursus praktikal "Pro Pembangun Mudah Alih".

Kami mengingatkan: untuk semua pembaca "Habr" - diskaun sebanyak 10 rubel apabila mendaftar dalam mana-mana kursus Skillbox menggunakan kod promosi "Habr".

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

Untuk mengawal aliran, anda boleh menggunakan pelbagai alat, termasuk berbayar dan percuma sepenuhnya. Artikel ini menerangkan tiga daripada penyelesaian paling popular dalam kalangan pembangun yang boleh berguna kepada setiap pengaturcara.

Jenkins

Pelayan automasi sumber terbuka serba lengkap sepenuhnya. Berbaloi untuk digunakan untuk mengautomasikan semua jenis tugas yang berkaitan dengan membina, menguji, menghantar atau menggunakan perisian.

Keperluan PC minimum:

  • 256 MB RAM, 1 GB ruang fail.

Optimum:

  • 1 GB RAM, 50 GB cakera keras.

Untuk berfungsi, anda juga memerlukan perisian tambahan - Java Runtime Environment (JRE) versi 8.

Seni bina (pengkomputeran teragih) kelihatan seperti ini:
3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

Jenkins Server ialah pemasangan yang bertanggungjawab untuk pengehosan GUI, serta mengatur dan melaksanakan keseluruhan binaan.

Jenkins Node/Slave/Build Server - peranti yang boleh dikonfigurasikan untuk melaksanakan kerja binaan bagi pihak Master (nod utama).

Pemasangan untuk Linux

Mula-mula anda perlu menambah repositori Jenkins ke sistem:

cd /tmp && wget -q -O — pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - echo 'deb pkg.jenkins.io/debian-stable binari/' | sudo tee -a /etc/apt/sources.list.d/je

Kemas kini repositori pakej:

kemas kini sudo apt

Pasang Jenkins:

sudo apt install jenkins

Selepas ini, Jenkins akan tersedia dalam sistem melalui port lalai 8080.

Untuk menyemak kefungsian, anda perlu membuka alamat dalam penyemak imbas localhost:8080. Sistem kemudiannya akan meminta anda memasukkan kata laluan awal untuk pengguna root. Kata laluan ini terletak dalam fail /var/lib/jenkins/secrets/initialAdminPassword.

Sekarang semuanya sudah sedia untuk digunakan, anda boleh mula mencipta aliran CI/CD. Antara muka grafik meja kerja kelihatan seperti ini:

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

Kekuatan Jenkins:

  • kebolehskalaan yang disediakan oleh seni bina Master/Slave;
  • ketersediaan REST XML/JSON API;
  • keupayaan untuk menyambungkan sejumlah besar sambungan terima kasih kepada pemalam;
  • komuniti yang aktif dan sentiasa berkembang.

Cons:

  • tiada blok analisis;
  • antara muka yang tidak begitu mesra pengguna.

TeamCity

Pembangunan komersial daripada JetBrains. Pelayan baik dengan persediaan mudah dan antara muka yang sangat baik. Konfigurasi lalai mempunyai sejumlah besar fungsi, dan bilangan pemalam yang tersedia sentiasa meningkat.

Memerlukan Java Runtime Environment (JRE) versi 8.

Keperluan perkakasan pelayan tidak kritikal:

  • RAM - 3,2 GB;
  • pemproses - dwi-teras, 3,2 GHz;
  • saluran komunikasi dengan kapasiti 1 Gb/s.

Pelayan membolehkan anda mencapai prestasi tinggi:

  • 60 projek dengan 300 konfigurasi binaan;
  • Peruntukan 2 MB untuk log binaan;
  • 50 ejen binaan;
  • keupayaan untuk bekerja dengan 50 pengguna dalam versi web dan 30 pengguna dalam IDE;
  • 100 sambungan VCS luaran, biasanya Perforce dan Subversion. Masa perubahan purata ialah 120 saat;
  • lebih daripada 150 pengubahsuaian setiap hari;
  • bekerja dengan pangkalan data pada satu pelayan;
  • Tetapan proses pelayan JVM: -Xmx1100m -XX:MaxPermSize=120m.

Keperluan ejen adalah berdasarkan perhimpunan yang dijalankan. Tugas utama pelayan adalah untuk memantau semua ejen yang bersambung dan mengedarkan perhimpunan beratur kepada ejen ini berdasarkan keperluan keserasian, melaporkan hasilnya. Ejen datang dalam pelbagai platform dan sistem pengendalian, serta persekitaran yang diprakonfigurasikan.

Semua maklumat tentang hasil binaan disimpan dalam pangkalan data. Terutamanya ini adalah sejarah dan data lain yang serupa, perubahan VCS, ejen, membina baris gilir, akaun pengguna dan kebenaran. Pangkalan data tidak termasuk hanya binaan log dan artifak.

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

Pemasangan untuk Linux

Untuk memasang TeamCity secara manual dengan bekas servlet Tomcat, anda harus menggunakan arkib TeamCity: TeamCity .tar.gz. Muat turun anda boleh mendapatkannya dari sini.

tar -xfz TeamCity.tar.gz

/bin/runAll. sh [mula|berhenti]

Apabila anda mula-mula mula, anda perlu memilih jenis pangkalan data di mana data pemasangan akan disimpan.

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

Konfigurasi lalai berjalan localhost:8111/ dengan satu ejen binaan berdaftar yang dijalankan pada PC yang sama.

Kekuatan TeamCity:

  • persediaan yang mudah;
  • antara muka mesra pengguna;
  • sebilangan besar fungsi terbina dalam;
  • Perkhidmatan sokongan;
  • terdapat API RESTful;
  • dokumentasi yang baik;
  • keselamatan yang baik.

Cons:

  • penyepaduan terhad;
  • Ini adalah alat berbayar;
  • komuniti kecil (yang, bagaimanapun, berkembang).

GoCD

Projek sumber terbuka yang memerlukan Java Runtime Environment (JRE) versi 8 untuk pemasangan dan operasi.

Keperluan Sistem:

  • RAM - 1 GB minimum, lebih banyak adalah lebih baik;
  • pemproses - dwi-teras, dengan frekuensi teras 2 GHz;
  • cakera keras - sekurang-kurangnya 1 GB ruang kosong.

Ejen:

  • RAM - sekurang-kurangnya 128 MB, sebaik-baiknya lebih;
  • pemproses - sekurang-kurangnya 2 GHz.

Pelayan memastikan operasi ejen dan menyediakan antara muka yang mudah untuk pengguna:

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

Peringkat/Pekerjaan/Tugas:

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

Pemasangan untuk Linux

gema "deb download.gocd.org /” | sudo tee /etc/apt/sources.list.d/gocd.list

curl download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key add -
add-apt-repository ppa:openjdk-r/ppa

apt-cepat update

apt-get install -y openjdk-8-jre

apt-get install go-server

apt-get install go-agent

/etc/init.d/go-server [start|stop|status|restart]

/etc/init.d/go-agent [start|stop|status|restart]

Secara lalai GoCd berjalan localhost: 8153.

Kekuatan GoCd:

  • sumber terbuka;
  • pemasangan dan konfigurasi mudah;
  • dokumentasi yang baik;

  • Antara muka pengguna yang hebat:

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

  • keupayaan untuk menunjukkan laluan penggunaan GoCD langkah demi langkah dalam satu paparan:

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

  • paparan struktur saluran paip yang sangat baik:

3 alat popular untuk mengatur penggunaan berterusan (Pengedaran Berterusan)

  • GoCD mengoptimumkan aliran kerja CD dalam persekitaran awan yang paling popular termasuk Docker, AWS;
  • alat ini memungkinkan untuk membetulkan masalah dalam saluran paip, yang mana terdapat penjejakan setiap perubahan daripada komitmen kepada penggunaan dalam masa nyata.

Cons:

  • sekurang-kurangnya seorang ejen diperlukan;
  • tiada konsol untuk memaparkan semua tugasan yang telah selesai;
  • untuk melaksanakan setiap arahan, anda perlu membuat satu tugas untuk konfigurasi saluran paip;
  • Untuk memasang pemalam anda perlu mengalihkan fail .jar ke /plugins/external dan mulakan semula pelayan;
  • komuniti yang agak kecil.

Sebagai kesimpulan

Ini hanya tiga alat, sebenarnya terdapat banyak lagi. Sukar untuk dipilih, jadi anda pasti perlu memberi perhatian kepada aspek tambahan.

Kod sumber terbuka alat ini membolehkan anda memahami apa itu, serta menambah ciri baharu dengan lebih pantas. Tetapi jika sesuatu tidak berfungsi, maka anda perlu bergantung hanya pada diri sendiri dan bantuan masyarakat. Alat berbayar memberikan sokongan yang kadangkala boleh menjadi kritikal.

Jika keselamatan adalah keutamaan anda, anda patut menggunakan alat tempatan. Jika tidak, maka memilih penyelesaian SaaS ialah pilihan yang baik.

Dan akhir sekali, untuk memastikan proses penggunaan berterusan yang benar-benar berkesan, anda perlu mencipta kriteria yang spesifiknya akan membolehkan anda mengecilkan julat alatan yang tersedia.

Skillbox mengesyorkan:

Sumber: www.habr.com

Tambah komen