JavaRush /Blog Jawa /Random-JV /Integrasi terus-terusan
Nikita Koliadin
tingkat
Днепр

Integrasi terus-terusan

Diterbitake ing grup
Salam, kanca-kanca! Bosen meksa komputer supaya terus nggawe proyek? Banjur artikel iki kanggo sampeyan! Integrasi Terus-terusan - 1Ing artikel iki, aku bakal nyoba nyedhiyakake materi kanthi ringkes lan jelas babagan Integrasi Terus-terusan (sabanjure mung CI), aku bakal mangsuli pitakon-pitakon sing prasaja kaya: "Apa?", "Napa?" lan kenapa?" lan aku bakal menehi conto proyek test. Artikel iki dimaksudaké kanggo pangguna sing berpengalaman sing paling ora kenal karo Build System: Maven , ngerti carane nggunakake Git lan ngerti carane push proyek menyang GitHub ;

"Apa iku Integrasi Terus?"

Ayo ndeleng apa sing diomongake Wiki babagan pitakonan iki : Integrasi terus-terusan (CI, Integrasi Terus-terusan Inggris) minangka praktik pangembangan piranti lunak sing kalebu nggabungake salinan kerja menyang cabang pangembangan utama sing umum kaping pirang-pirang dina lan nindakake konstruksi otomatis kanthi otomatis kanggo awal. deteksi cacat potensial lan solusi kanggo masalah integrasi. Medeni, ta? Ayo dadi nyoba kanggo nerangake istilah iki ing tembung prasaja: Integrasi terus-terusan minangka sistem kanggo mbangun lan testing otomatis piranti lunak karo configs tartamtu ing mesin tartamtu kanggo ndeteksi kewan omo lan incompatibilities. Oke, ora masalah, kita ngerti, nanging pitakonan logis ing ngisor iki muncul:

Napa kita kudu CI?

Ayo mbayangno yen sampeyan nulis proyek gedhe, lan ana sing perlu kanggo nambah / ngganti fungsi. Sampeyan kasil nulis, nulis tes, miwiti, lan kabeh katon apik, nanging ora. Ana kahanan nalika owah-owahan ing siji fungsi mengaruhi liyane, liyane ing katelu, lan sateruse, nganti bug slip nang endi wae lan ana kesalahan. Ya, sampeyan bisa ngomong iki paling kamungkinan proyek dirancang lingkungan, lan sampeyan bisa uga bener, nanging apa yen ora, lan sambungan iki pancene kudu ana? Lan kepiye yen sampeyan nulis lan nggawe proyek luwih saka sepisan, sing asring kedadeyan? Sampeyan nglakokake tes babagan fungsi sing mentas ditulis, lan menehi asil positif. Sampeyan nggawe komitmen cepet, banjur di-push nang endi wae lan wis mikir babagan carane sampeyan bakal ngrokok cerutu ing omah nalika ngombe wiski larang, nanging ora. Alas, kolega, utawa bos, ora preduli sapa, ujar manawa amarga komitmen sampeyan, kabeh bangunan ambruk. Sampeyan ngomong karo bewilderment sing programmer, sampeyan wis dites kabeh. Nanging asring ora ana wektu kanggo terus-terusan nyoba kabeh proyek, lan sampeyan mung nguji potongan kode sing sampeyan ganti, lan dudu kabeh perakitan. Iki ngendi CI teka kanggo bantuan kita. Kanthi saben push menyang sumber apa wae, CI bakal mbangun proyek sampeyan saka awal, nglakokake ALL tes, lan mung yen kabeh tes lulus lan proyek kasebut dibangun, bangunan kasebut bakal nampa status lulus . Yen ora, sampeyan bakal duwe kesempatan kanggo mbalek maneh lan ndeleng apa sing salah. Dadi, wektu kanggo takon pitakonan "Kenapa iki lan ora liya?" lan njupuk dipikir ing implementasine piranti lunak. Tuladha Kaya sing wis dakkandhakake, artikel kasebut ditujokake kanggo wong sing kenal karo Maven lan Git. Mulane, aku ngarep-arep supaya sampeyan ngerti carane lan apa aku kejaba nyetel CI, etc.
  1. Pisanan, ayo nggawe proyek tes Maven sing prasaja lan nggawe kelas sing nyithak "Hello World!" lan nindakake sawetara operasi prasaja, lan ayo kang nulis test paling gampang kanggo kelas iki.

    Akibaté, kita kudu duwe struktur proyek primitif:

    Integrasi Terus-terusan - 2

    Kabeh sumber bakal ana ing GitHubku. Ora preduli apa sing sampeyan tulis ing Utama lan tes apa sing bakal ditindakake.

  2. Kita push proyek kita menyang GitHub.

  3. Saiki teka bagean fun. Saka CI, aku milih Travis CI amarga kasedhiya lan linuwih. Travis nggunakake GitHub kanggo dadi tuan rumah kode sumber.

    Dadi, pindhah menyang situs web Travis CI lan mlebu liwat GitHub. Ing profil kita nyambungake proyek kita:

    Integrasi Terus-terusan - 3

    Kabeh wis siyap kanggo ngumpul karo saben push, nanging pitakonan CARA ngumpul?

  4. Kita bali menyang IDEA sing ditresnani lan nggawe file .travis.yml

    Berkas iki tanggung jawab kanggo travis mbangun config. Ayo goleki setelan sing paling populer:

    • Sampeyan kudu nemtokake basa ing ngendi proyek kasebut ditindakake;
    • Nemtokake path menyang direktori supaya mbangun luwih cepet;
    • Nemtokake cara kabar babagan perakitan sing sukses utawa ora kasil.

    Iki minangka konfigurasi Travis sing khas:

    # https://docs.travis-ci.com/user/languages/java/
    language: java
    jdk: oraclejdk9
    
    # Improve Build Speed https://dzone.com/articles/travis-ci-tutorial-java-projects
    cache:
      directories:
      - $HOME/.m2
    
    # Notifications https://docs.travis-ci.com/user/notifications/
    notifications:
      email:
        recipients:
          - qThegamEp@gmail.com
        on_success: always # default: change
        on_failure: always # default: always

    Aku wis nambah komentar, karo pranala, kanggo gamblang.

  5. Kita push maneh menyang GitHub lan mbukak situs web Travis , pilih proyek lan monitor mbangun. Akibaté, kita nampa kabar babagan mbangun sing sukses:

    Integrasi Terus-terusan - 4 Integrasi Terus-terusan - 5

    Uga ing situs kasebut, kita bisa ndeleng lencana kanthi perakitan proyek sing sukses, sing bisa dilebokake ing README.md:

    Integrasi Terus-terusan - 6
Pranala migunani: Bisa uga ana kesalahan lan kekurangan ing teks kasebut. Matur nuwun kanggo perhatian sampeyan!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION