Kuidas Drone CI Kubernetesesse juurutada?

UPDATE: Pärast selle postituse kirjutamist loodi droonide installimise hõlbustamiseks tüürikaart, saate seda siit vaadata.

Droon on vinge avatud lähtekoodiga CI, kirjutatud Golangis.

Saate selle installida, kasutades dokkide koostamist, järgides ametlikke dokumente. Kuid kuna ma olen Kubernetesesse armunud, tahtsin seda ka kasutusele võtta, et saada kasu ka enesetervendamisest ja k8s suurepärasusest.

Looge Githubi OAuthi rakendus

Ma eeldan, et soovite kasutada drooni eksemplari autentimiseks Githubit. Nii et jätkame ja konfigureerime selle:

  • minge oma Githubi kontole
  • klõpsake oma profiiliikoonil ja valige Seaded
  • valige vasakpoolsest menüüst OAuthi rakendused (sama asi organisatsioonide puhul, kuid organisatsiooni profiilis)
  • uue rakenduse kuvamiseks klõpsake nuppu
  • täitke väljad soovitud URL-iga
  • viimase välja jaoks lisage URL-i lõppu a / autoriseeri
  • kliendi ja saladuse genereerimine

Server

Teil peab olema töötav kubernetes-klaster, kui teil seda veel pole, soovitan kasutada Google Cloud Platform (GCP), kuna see haldab teie jaoks kubernetes-klastrit.

Serveri juurutamiseks kasutame järgmisi Kubernetesi juurutamist ja teenust:

Teil tuleb oma konteksti põhjal värskendada mõne env varsi sisu, nii et minge edasi ja muutke kogu CHANGE_ME konteksti. Võite lisada ka DRONE_ORGS muutuja, et öelda, et sellele pääsevad juurde ainult teatud Githubi organisatsiooni inimesed.

Selle kasutuselevõtmiseks lihtsalt tehke järgmist.

kubectl rakenda -f server-deployment.yml

Aadressijooksu avastamiseks toimige järgmiselt.

kubectl saavad teenuseid -w

Kui näete teadet , kuvatakse seal väline IP-aadress.

Juurdepääs sellele ja voila drooniserver on üleval! Kuid siiani ei saa me veel midagi üles ehitada.

Agent

Teie ehitustööde käivitamiseks peame kasutusele võtma ka drooni-agendi, et see juhtuks, kasutame ka Kubernetesi juurutamist:

Uuendage DRONE_SECRET samaga, mida olete serveris kasutanud, ja juurutage see:

 kubectl rakenda -f agent-deployment.yml

Seadista DNS

Githubi ja drooni vahelise ühenduse loomiseks peame DNSi konfigureerima, see sõltub teie kasutatavast platvormist.

GCP-s minge oma projekti juurde ja siis võrguteenused> Pilve DNS. Konfigureerige A-kirje IP-aadressi osutamiseks drooniserverile.

Lisage kindlasti NS-kirjed, et suunata oma DNS-kirjed GCP-le.

Minge hoonest välja!

Juurdepääs oma uuele CI-serverile, registreeruge oma Githubi kontoga, aktiveerige hoidla, mida soovite pidevalt integreerida.

Nüüd peate vaid oma projekti lisama .drone.yml faili. See fail kasutab ehitustorustiku konfigureerimiseks puhast ja sirget viisi, lihtne Ruby-projekt sarnaneb järgmisega:

Vaata seda ilu

Lükake uus pühendumus oma repole ja nautige oma ehitust Drone CI-s.

Nautige droonimist!