ProHoster > Blog > warta internét > 3 alat populér pikeun ngatur panyebaran kontinyu (Continuous Deployment)
3 alat populér pikeun ngatur panyebaran kontinyu (Continuous Deployment)
Continuous Deployment mangrupikeun pendekatan khusus dina pamekaran parangkat lunak anu dianggo pikeun gancang, aman sareng éfisién ngalaksanakeun sababaraha fungsi dina parangkat lunak.
Gagasan utama nyaéta nyiptakeun prosés otomatis anu dipercaya anu ngamungkinkeun pamekar gancang nganteurkeun produk réngsé ka pangguna. Dina waktos anu sami, parobahan konstan dilakukeun pikeun produksi - ieu disebut pipa pangiriman kontinyu (CD Pipeline).
Kami ngingetan:pikeun sakabéh pamiarsa "Habr" - diskon 10 rubles nalika enrolling dina sagala Tangtu Skillbox ngagunakeun "Habr" kode promosi.
Pikeun ngadalikeun aliran, anjeun tiasa nganggo rupa-rupa parabot, kaasup duanana mayar tur lengkep gratis. Tulisan ieu ngajelaskeun tilu solusi anu paling populer di kalangan pamekar anu tiasa mangpaat pikeun unggal programer.
Jenkins
Sapinuhna mandiri, server automation open source. Éta patut dianggo pikeun ngajadikeun otomatis sagala jinis tugas anu aya hubunganana sareng ngawangun, nguji, ngirimkeun, atanapi nyebarkeun parangkat lunak.
Syarat PC Minimum:
256 MB RAM, 1 spasi file GB.
Optimal:
1 GB RAM, 50 GB teuas drive.
Pikeun damel, anjeun ogé peryogi parangkat lunak tambahan - Java Runtime Environment (JRE) versi 8.
Arsitéktur (komputasi disebarkeun) Sigana mah kieu:
Jenkins Server mangrupikeun pamasangan anu tanggung jawab pikeun GUI hosting, ogé ngatur sareng ngalaksanakeun sadayana ngawangun.
Jenkins Node / Budak / Bangun Server - alat anu tiasa dikonpigurasikeun pikeun ngalaksanakeun karya ngawangun atas nama Master (titik utama).
Instalasi pikeun Linux
Mimiti anjeun kedah nambihan gudang Jenkins kana sistem:
Saatos ieu, Jenkins bakal sayogi dina sistem via port standar 8080.
Pikeun pariksa pungsionalitasna, anjeun kedah muka alamatna dina browser localhost:8080. Sistim nu lajeng bakal ajakan anjeun ngasupkeun sandi awal pikeun pamaké root. Sandi ieu aya dina file /var/lib/jenkins/secrets/initialAdminPassword.
Ayeuna sadayana parantos siap, anjeun tiasa ngamimitian nyiptakeun aliran CI / CD. Antarbeungeut grafis tina workbench sapertos kieu:
Keunggulan Jenkins:
scalability disadiakeun ku arsitéktur Master / Budak;
kasadiaan REST XML / JSON API;
kamampuan pikeun nyambungkeun sajumlah ageung ekstensi berkat plugins;
komunitas aktip sarta terus ngembang.
kontra:
teu aya blok analitik;
panganteur teu pisan ramah-pamaké.
TeamCity
Pangwangunan komérsial ti JetBrains. Serverna saé kalayan pangaturan anu saderhana sareng antarmuka anu saé. Konfigurasi standar boga angka nu gede ngarupakeun fungsi, sarta jumlah plugins sadia terus ngaronjat.
Merlukeun Java Runtime Environment (JRE) versi 8.
Sarat hardware server henteu kritis:
RAM - 3,2 GB;
prosésor - dual-core, 3,2 GHz;
saluran komunikasi kalayan kapasitas 1 Gb/s.
Server ngidinan Anjeun pikeun ngahontal kinerja luhur:
60 proyék sareng 300 ngawangun konfigurasi;
alokasi 2 MB pikeun log ngawangun;
50 agén ngawangun;
kamampuhan pikeun digawekeun ku 50 pamaké dina versi web na 30 pamaké dina IDE;
100 sambungan VCS éksternal, biasana Perforce na Subversion. Waktu robah rata nyaéta 120 detik;
leuwih ti 150 modifikasi per poé;
gawé bareng database dina hiji server;
Setélan prosés server JVM: -Xmx1100m -XX: MaxPermSize = 120m.
syarat agén dumasar kana ngajalankeun rakitan. Tugas utama server nyaéta pikeun ngawas sadaya agén anu nyambung sareng ngadistribusikaeun majelis antrian ka agén-agén ieu dumasar kana sarat kasaluyuan, ngalaporkeun hasil. Agén datangna dina rupa-rupa platform sareng sistem operasi, ditambah lingkungan anu tos dikonpigurasikeun.
Sadaya inpormasi ngeunaan hasil ngawangun disimpen dina pangkalan data. Utamana ieu sajarah jeung data sarupa séjénna, parobahan VCS, agén, ngawangun antrian, rekening pamaké sarta idin. Pangkalan data henteu kalebet ngan ukur ngawangun log sareng artefak.
Instalasi pikeun Linux
Pikeun masang TeamCity sacara manual sareng wadahna servlet Tomcat, anjeun kedah nganggo arsip TeamCity: TeamCity .tar.gz. Ngundeur anjeun tiasa kéngingkeun ti dieu.
tar -xfz TeamCity.tar.gz
/bin/runAll. sh [mimitian|eureun]
Nalika anjeun mimiti ngamimitian, anjeun kedah milih jinis database dimana data assembly bakal disimpen.
Konfigurasi standar dijalankeun dina localhost: 8111 / kalawan hiji agén ngawangun didaptarkeun ngajalankeun on PC sarua.
Keunggulan TeamCity:
setelan basajan;
panganteur ramah-pamaké;
sajumlah ageung fungsi anu diwangun;
jasa rojongan;
aya API RESTful;
dokuméntasi alus;
kaamanan alus.
kontra:
integrasi kawates;
Ieu alat mayar;
komunitas leutik (anu kitu, tumuwuh).
GoCD
Proyék open source anu meryogikeun Java Runtime Environment (JRE) versi 8 pikeun instalasi sareng operasi.
Syarat Sistem:
RAM - 1 GB minimum, leuwih hadé;
processor - dual-core, kalawan frékuénsi inti 2 GHz;
hard drive - sahenteuna 1 GB rohangan bébas.
Agén:
RAM - sahenteuna 128 MB, langkung saé;
processor - sahenteuna 2 GHz.
Server mastikeun operasi agén sareng nyayogikeun antarbeungeut anu cocog pikeun pangguna:
Tahap/Pakasaban/Tugas:
Instalasi pikeun Linux
kamandang "deb download.gocd.org /” | sudo tee /etc/apt/sources.list.d/gocd.list
Sacara standar GoCd dijalankeun dina localhost: 8153.
Keunggulan GoCd:
open source;
instalasi basajan tur konfigurasi;
dokuméntasi alus;
Antarbeungeut pangguna anu saé:
Kamampuhan pikeun nunjukkeun léngkah-léngkah jalur panyebaran GoCD dina hiji tampilan:
tampilan alus teuing tina struktur pipa:
GoCD ngaoptimalkeun alur kerja CD dina lingkungan awan anu pang populerna kalebet Docker, AWS;
alat nu ngamungkinkeun pikeun ngabenerkeun masalah dina pipa, nu aya tracking unggal robah tina komitmen ka deployment sacara real waktos.
kontra:
sahenteuna hiji agén diperlukeun;
teu aya konsol pikeun mintonkeun sadaya tugas réngsé;
pikeun ngaéksekusi unggal paréntah, anjeun kedah nyiptakeun hiji tugas pikeun konfigurasi pipa;
Pikeun masang plugin nu Anjeun kudu mindahkeun file .jar ka / plugins / jaba jeung balikan deui server;
masarakat relatif leutik.
Salaku kacindekan
Ieu ngan tilu parabot, malah aya loba deui. Hese milih, janten anjeun pasti kedah nengetan aspék tambahan.
Kodeu open source alat ngamungkinkeun anjeun ngartos naon éta, sareng nambihan fitur énggal langkung gancang. Tapi lamun aya nu teu hasil, mangka anjeun kudu ngandelkeun ngan dina diri jeung bantuan masarakat. Alat anu mayar nyayogikeun dukungan anu kadang tiasa kritis.
Upami kaamanan mangrupikeun prioritas utama anjeun, éta patut dianggo sareng alat lokal. Upami henteu, maka milih solusi SaaS mangrupikeun pilihan anu saé.
Sareng anu terakhir, pikeun mastikeun prosés panyebaran kontinyu anu leres-leres efektif, anjeun kedah nyiptakeun kriteria anu spésifikna bakal ngamungkinkeun anjeun ngahususkeun sajumlah alat anu sayogi.