CICD kanggo wiwitan: alat apa sing ana lan kenapa ora mung perusahaan gedhe lan kondhang sing nggunakake

Pangembang alat CICD asring nyathet perusahaan gedhe minangka klien - Microsoft, Oculus, Red Hat, malah Ferrari lan NASA. Kayane merek kasebut mung bisa digunakake karo sistem sing larang sing wiwitan sing dumadi saka sawetara pangembang lan desainer ora bisa mbayar. Nanging bagean penting saka alat kasedhiya kanggo tim cilik.

Kita bakal ngandhani apa sing bisa digatekake ing ngisor iki.

CICD kanggo wiwitan: alat apa sing ana lan kenapa ora mung perusahaan gedhe lan kondhang sing nggunakake
--ΠžΡ‚ΠΎ - Csaba Balazs - Unsplash

Sensor PHP

Server CI open source sing nggampangake mbangun proyek ing PHP. Iki minangka garpu proyek PHPCI. PHPCI dhewe isih berkembang, nanging ora aktif kaya sadurunge.

Censor PHP bisa digunakake karo GitHub, GitLab, Mercurial lan sawetara repositori liyane. Kanggo nguji kode, alat kasebut nggunakake perpustakaan Atoum, PHP Spec, Behat, Codeception. kene file conto konfigurasi kanggo kasus pisanan:

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

Wis dianggepsing PHP Censor uga cocog kanggo deploying proyek cilik, nanging sampeyan kudu tuan rumah lan ngatur dhewe (self-host). Tugas iki disederhanakake kanthi dokumentasi sing cukup rinci - iku ing GitHub.

Rex

Rex singkatan saka Remote Execution. Sistem iki dikembangake dening insinyur Ferenc Erki kanggo ngotomatisasi proses ing pusat data. Rex adhedhasar Tulisan Perl, nanging ora perlu ngerti basa iki kanggo sesambungan karo alat - paling operasi (Contone, nyalin file) diterangake ing perpustakaan fungsi, lan Tulisan asring pas menyang sepuluh baris. Iki minangka conto kanggo mlebu menyang macem-macem server lan mbukak wektu aktif:

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

Disaranake miwiti kenalan karo alat karo panuntun resmi ΠΈ e-buku, sing saiki lagi rampung.

Open Build Service (OBS)

Iki minangka platform kanggo ngoptimalake pangembangan distribusi. Kode kasebut mbukak lan ana ing gudang ing GitHub. Penulis alat kasebut yaiku perusahaan Novell. Dheweke melu pangembangan distribusi SuSE, lan proyek iki wiwitane diarani OpenSUSE Build Service. Ora kaget yen Open Build Service nggunakake kanggo mbangun proyek ing openSUSE, Tizen lan VideoLAN. Dell, SGI lan Intel uga bisa karo alat. Nanging ing antarane pangguna biasa ana uga wiwitan cilik. Utamane kanggo dheweke, penulis nglumpukake (kaca 10) wis dikonfigurasi paket software. Sistem kasebut pancen gratis - sampeyan mung kudu mbuwang dhuwit kanggo hosting utawa server hardware kanggo nyebarake.

Nanging sajrone eksistensi, alat kasebut ora nate entuk komunitas sing wiyar. sanadyan piyambakipun bagean saka Jaringan Pangembang Linux, tanggung jawab kanggo standarisasi OS mbukak. Bisa angel Temokake jawaban kanggo pitakonan sampeyan ing forum tematik. Nanging salah sawijining warga Quora nyathet yen ing IRC chatting Ing Freenode, anggota komunitas nanggapi kanthi gampang. Masalah komunitas cilik ora global, amarga solusi kanggo akeh masalah wis diterangake ing dokumentasi resmi (PDF lan EPUB). Ibid. bisa nggoleki praktik paling apik kanggo nggarap OBS (ana conto lan kasus).

Rundeck

Alat mbukak (GitHub), sing ngotomatisasi tugas ing pusat data lan awan nggunakake skrip. Server script khusus tanggung jawab kanggo eksekusi. Kita bisa ngomong yen Rundeck minangka "putri" saka platform manajemen aplikasi ControlTier. Rundeck dipisahake ing taun 2010 lan entuk fungsi anyar - contone, integrasi karo Wayang, Chef, Git lan Jenkins.

Sistem digunakake ing Walt Disney Company, Salesforce ΠΈ Ticketmaster. Nanging proyek kasebut uga cocog kanggo wiwitan. Iki amarga Rundeck dilisensi ing lisensi Apache v2.0. Kajaba iku, alat kasebut cukup gampang digunakake.

Warga Reddit sing kerja karo Rundeck, ngandika, kang ditanggulangi paling saka kangelan ing dhewe. Dheweke nulungi dheweke dokumentasi lan e-buku, diterbitake dening pangembang.

Sampeyan uga bisa nemokake pandhuan ringkes kanggo nyetel alat online:

GoCD

Alat mbukak (GitHub) ngotomatisasi kontrol versi kode. Iki dikenalakΓ© ing 2007 dening perusahaan Pakaryan Panginten - banjur proyek kasebut diarani Cruise.

GoCD digunakake dening insinyur saka situs dodolan mobil online AutoTrader, layanan genealogi Ancestry lan panyedhiya kertu kredit Barclaycard. Nanging, seprapat saka pangguna alat dadi bisnis cilik.

Popularitas layanan ing antarane wiwitan bisa diterangake kanthi mbukak - disebarake miturut lisensi Apache v2.0. Ing wektu sing padha, GoCD Wis plugin kanggo integrasi karo piranti lunak pihak katelu - sistem wewenang lan solusi awan. Sistem sing bener cukup rumit ing mastering - wis nomer akeh operator lan tim. Uga, sawetara kedhaftar sambat babagan antarmuka miskin lan kudu ngatur agen kanggo njongko.

CICD kanggo wiwitan: alat apa sing ana lan kenapa ora mung perusahaan gedhe lan kondhang sing nggunakake
--ΠžΡ‚ΠΎ - Matt Wildbore - Unsplash

Yen sampeyan pengin nyoba GoCD ing laku, sampeyan bisa nemokake ing situs web project dokumentasi resmi. Sampeyan uga bisa dianjurake minangka sumber informasi tambahan Blog Pangembang GoCD karo manual ing persiyapan.

Jenkins

Jenkins misuwur lan dianggep jenis standar ing lapangan CICD - mesthi, tanpa pilihan iki ora bakal rampung lengkap. Alat kasebut muncul ing taun 2011, dadi garpu Project Hudson saka Oracle.

Dina iki karo Jenkins Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ing NASA, Nintendo lan organisasi gedhe liyane. Nanging luwih saka 8% pangguna akun kanggo tim cilik nganti sepuluh wong. Prodhuk rampung free lan mbagekke ing lisensi MIT. Nanging, sampeyan kudu dadi tuan rumah lan ngatur Jenkins dhewe - mbutuhake server khusus.

Sajrone kabeh eksistensi instrumen kasebut, komunitas gedhe wis dibentuk ing saubengΓ©. Pangguna aktif komunikasi ing Utas ing Reddit ΠΈ Grup Google. Materi ing Jenkins uga katon ajeg ing HabrΓ©. Yen sampeyan pengin dadi bagian saka komunitas lan miwiti nggarap Jenkins, ana dokumentasi resmi ΠΈ guide pangembang. Kita uga nyaranake pandhuan lan buku ing ngisor iki:

Jenkins duwe sawetara proyek sisih migunani. Sing pisanan yaiku plugin Konfigurasi minangka Kode. Nggawe Jenkins gampang karo API sing gampang diwaca, sing bisa dingerteni para admin sing ora ngerti babagan alat kasebut. Kapindho yaiku sistem Jenkins X kanggo awan. Iki nyepetake pangiriman aplikasi sing disebarake ing infrastruktur IT skala gedhe kanthi ngotomatisasi sawetara tugas rutin.

Buildbot

Iki minangka sistem integrasi sing terus-terusan kanggo ngotomatisasi siklus mbangun lan nguji aplikasi. Kanthi otomatis mriksa fungsi kode saben-saben ana owah-owahan.

Penulis alat kasebut yaiku insinyur Brian Warner. Dina iki dheweke tugas diganti klompok inisiatif Komite Pengawas Buildbot, sing kalebu enem pangembang.

Buildbot digunakake dening proyek kayata LLVM, MariaDB, Blender lan Dr.Web. Nanging uga digunakake ing proyek cilik kaya wxWidgets lan Flathub. Sistem kasebut ndhukung kabeh VCS modern lan nduweni setelan mbangun sing fleksibel kanthi nggunakake Python kanggo njlèntrèhaké. Iku bakal mbantu sampeyan ngatasi kabeh. dokumentasi resmi lan tutorial pihak katelu, contone, kene sing cendhak IBM manual.

Mesthi, ora mung kuwi Alat DevOps sing kudu digatekake dening organisasi cilik lan wiwitan. Menehi alat favorit ing komentar, lan kita bakal nyoba kanggo pirembagan bab mau ing salah siji saka bahan ing ngisor iki.

Apa sing kita tulis ing blog perusahaan:

Source: www.habr.com

Add a comment