Referensi: carane proses Integrasi Terus-terusan

Dina iki kita bakal nliti sejarah istilah kasebut, ngrembug babagan kesulitan ngetrapake CI, lan nyedhiyakake sawetara alat populer sing bakal mbantu sampeyan nggarap.

Referensi: carane proses Integrasi Terus-terusan
/flickr/ Altug Karakoc / CC BY / Photo dipunéwahi

Tembung kasebut

Integrasi Terus-terusan minangka pendekatan kanggo pangembangan aplikasi sing kalebu mbangun proyek lan uji coba kode.

Tujuane kanggo nggawe proses integrasi bisa diprediksi lan ndeteksi kemungkinan bug lan kesalahan ing tahap awal, supaya ana wektu luwih akeh kanggo ndandani.

Istilah Continuous Integration pisanan muncul ing taun 1991. Iki dikenalake dening pangripta basa UML Grady Butch (Grady Booch). Insinyur kasebut ngenalake konsep CI minangka bagean saka praktik pangembangan dhewe - Metode Booch. Iki nuduhake refinement incremental arsitektur nalika ngrancang sistem berorientasi obyek. Gradi ora njlèntrèhaké syarat kanggo integrasi terus-terusan. Nanging mengko ing bukune "Analisis lan Desain Berorientasi Objek kanthi Aplikasi"Dheweke ujar manawa tujuan metodologi kasebut yaiku nyepetake rilis" rilis internal.

История

Ing taun 1996, CI diadopsi dening pangripta metodologi kasebut pemrograman ekstrem (XP) - Kent Beck (Kent Beck) lan Ron Jeffries (Ron Jeffries). Integrasi terus-terusan dadi salah siji saka rolas prinsip utama pendekatan kasebut. Pendiri XP njlentrehake syarat kanggo metodologi CI lan nyathet kabutuhan kanggo mbangun proyek kaping pirang-pirang dina.

Ing awal 2000s, salah sawijining pangadeg Agile Alliance wiwit promosi metodologi integrasi sing terus-terusan. Martin Fowler (Martin Fowler). Eksperimen karo CI nyebabake piranti lunak pisanan ing wilayah iki - CruiseControl. Utilitas kasebut digawe dening kolega Martin, Matthew Foemmel.

Siklus mbangun ing alat kasebut dileksanakake minangka daemon sing mriksa sistem kontrol versi kanthi periodik kanggo owah-owahan ing basis kode. Solusi bisa didownload dina iki - iku disebarake dening ing lisensi BSD-kaya.

Kanthi tekane piranti lunak kanggo CI, luwih akeh perusahaan wiwit ngetrapake praktik kasebut. Miturut riset Forrester [kaca 5 laporan], ing 2009, 86% saka sèket perusahaan teknologi sing ditliti nggunakake utawa ngetrapake metode CI.

Saiki, praktik Integrasi Terus-terusan digunakake dening organisasi saka macem-macem industri. Ing 2018, panyedhiya awan gedhe nganakake survey ing antarane spesialis IT saka perusahaan ing sektor layanan, pendidikan lan keuangan. Saka enem ewu responden, 58% ujar manawa nggunakake alat lan prinsip CI ing pakaryane.

Carane ora karya iki

Integrasi terus-terusan adhedhasar rong alat: sistem kontrol versi lan server CI. Sing terakhir bisa dadi piranti fisik utawa mesin virtual ing lingkungan maya. Pangembang ngunggah kode anyar siji utawa luwih saben dina. Server CI kanthi otomatis nyalin kabeh dependensi lan mbangun. Sawisé iku, mbukak integrasi lan tes unit. Yen tes kasebut sukses, sistem CI bakal nyebarake kode kasebut.

Diagram proses umum bisa dituduhake kaya ing ngisor iki:

Referensi: carane proses Integrasi Terus-terusan

Metodologi CI nggawe sawetara syarat kanggo pangembang:

  • Ndandani masalah langsung. Prinsip iki teka ing CI saka program ekstrem. Ndandani kewan omo minangka prioritas paling dhuwur para pangembang.
  • Ngotomatisasi pangolahan. Pangembang lan manajer kudu terus golek bottlenecks ing proses integrasi lan ngilangi. Contone, asring ana bottleneck ing integrasi pranyata metu testing.
  • Nindakake majelis sabisa-bisa. Sapisan dina kanggo nyinkronake karya tim.

Kesulitan implementasine

Masalah pisanan yaiku biaya operasi sing dhuwur. Sanajan perusahaan nggunakake alat CI sing mbukak (sing bakal kita ucapake mengko), mesthine kudu mbuwang dhuwit kanggo dhukungan infrastruktur. Nanging, teknologi awan bisa dadi solusi.

Padha nyederhanakake perakitan konfigurasi komputer ukuran sing beda-beda. Plus saka perusahaan mbayar mung kanggo sumber daya sing digunakake, sing mbantu ngirit infrastruktur.

Miturut survey [kaca 14 artikel], integrasi terus-terusan nambah beban karyawan perusahaan (paling ora ing wiwitan). Dheweke kudu sinau alat anyar, lan kolega ora mesthi mbantu latihan. Mulane, sampeyan kudu ngatasi kerangka kerja lan layanan anyar kanthi cepet.

Kesulitan katelu yaiku masalah otomatisasi. Organisasi kanthi akeh kode warisan sing ora diliputi tes otomatis ngadhepi masalah iki. Iki nyebabake kasunyatan manawa kode kasebut mung ditulis maneh sadurunge implementasi lengkap CI.

Referensi: carane proses Integrasi Terus-terusan
/flickr/ padhal / CC BY-SA

Sapa sing nggunakake

Raksasa IT minangka salah sawijining sing pertama ngurmati keuntungan saka metodologi kasebut. Google nggunakake integrasi terus-terusan wiwit pertengahan 2000-an. CI dileksanakake kanggo ngatasi masalah keterlambatan ing mesin telusur. Integrasi sing terus-terusan mbantu ndeteksi lan ngrampungake masalah kanthi cepet. Saiki CI digunakake dening kabeh departemen saka raksasa IT.

Integrasi terus-terusan uga mbantu perusahaan cilik, lan alat CI uga digunakake dening organisasi finansial lan kesehatan. Contone, ing Morningstar, layanan integrasi terus-terusan nulungi kerentanan patch 70% luwih cepet. Lan platform medis Philips Healthcare bisa tikel kaping pindho nganyari tes.

Piranti

Ing ngisor iki sawetara alat sing populer kanggo CI:

  • Jenkins iku salah siji saka sistem CI paling populer. Ndhukung luwih saka sewu plugin kanggo integrasi karo macem-macem VCS, platform maya lan layanan liyane. Kita uga nggunakake Jenkins ing 1cloud: alat kalebu ing sistem DevOps kita. Dheweke rutin mriksa cabang Git sing dimaksudake kanggo dites.
  • Buildbot - kerangka python kanggo nulis proses integrasi sing terus-terusan. Persiyapan awal alat kasebut cukup rumit, nanging iki diimbangi karo pilihan pangaturan dhewe sing amba. Antarane kaluwihan saka framework, pangguna nyorot intensitas sumber daya sing kurang.
  • Konferensi CI minangka server saka Pivotal sing nggunakake kontaner Docker. Concourse CI terintegrasi karo piranti apa wae lan sistem kontrol versi. Pangembang nyathet yen sistem kasebut cocog kanggo kerja ing perusahaan kanthi ukuran apa wae.
  • Gitlab CI minangka alat sing dibangun ing sistem kontrol versi GitLab. Layanan kasebut lumaku ing méga lan nggunakake file YAML kanggo konfigurasi. Kaya Concourse, Gitlab CI ditrapake Wadah Docker sing mbantu ngisolasi proses sing beda-beda.
  • Kode Pos minangka server CI maya sing bisa digunakake karo GitHub, GitLab lan BitBucket. Platform kasebut ora mbutuhake persiyapan awal sing dawa - pangolahan CI sing wis diinstal standar kasedhiya ing Codeship. Kanggo proyek cilik (nganti 100 mbangun saben wulan) lan proyek open source, Codeship kasedhiya gratis.

Materi saka blog perusahaan kita:

Source: www.habr.com

Add a comment