Keskitason varoitus
Sinun tulee tutustua OpenShiftin ImageStreams ja BuildConfig API:hin.
Tässä oppitunnissa käytämme OpenShift CLI -työkalua oc.
Johdanto
Nykyään ketteriä ohjelmistokehitysmenetelmiä käytetään tyydyttämään jatkuvasti muuttuvia ohjelmistovaatimuksia. Ketterän ohjelmistokehityksen pääasiallinen tavoite on jatkuvasti ja nopeasti toimittaa uusia ohjelmistonosia ja parantaa asiakastyytyväisyyttä. Jatkuva Integrointi ja Jatkuva Toimitus (CI/CD) tarjoavat kehittäjille tarvittavat työkalut, joilla voidaan sujuvoittaa ja nopeuttaa uuden koodin käyttöönottoa sekä tulla ketterämmäksi.
Tässä oppitunnissa luomme yksinkertaisen CI/CD-putken käyttäen Kubernetes-käsitteitä, kuten ImageStream, BuildConfig ja Deployment. Ole hyvä ja tutustu näihin Kubernetes-käsitteisiin Kubernetes- ja OpenShift-käsitteet.
Info
Käytännössä, monimutkaisten sovellusten CI/CD-putket käyttävät erillisiä resursseja ja työkaluja, kuten Tekton ja Jenkins. Kuitenkin yksinkertaiset sovellukset voidaan ottaa käyttöön samalla tavalla kuin tässä oppaassa kuvataan. Oppaan päätavoitteena on opettaa Kubernetesin ydinkonseptit CI/CD:n näkökulmasta.
Valmistelu
Varmista, että sinulla on oc
komentorivi asennettuna ja että olet kirjautunut sisään. Tarkista komentorivityökalun asennus, jos tarvitset apua.
Nopea Alku
Olemme kirjoittaneet yksinkertaisen hello world -verkkosovelluksen ja määrittäneet tarvittavat Kubernetes-objektit sen rakentamiseen ja käyttöönottoon Rahti-palvelussa. Seuraavat vaiheet saavat sinut nopeasti alkuun:
Kloonaa esimerkkisovelluksen lähdekoodi.
Kirjaudu Rahdille, jos et ole vielä tehnyt niin. Voit kopioida kirjautumiskomennon Rahti-käyttöliittymästä.
Varmista, että olet oikeassa projektissa komennolla oc project
, ja jos et ole, voit luoda uuden komennolla oc new-project <your-new-project-name>
.
Kaikki tarvittavat objektimäärittelyt löytyvät rahti-bc-example
-projektin k8s-api-objs.yaml
-tiedostosta. Viittaa Kubernetes- ja OpenShift-käsitteet ymmärtääksesi k8s-api-objs.yaml
-tiedostossa määritellyt objektit. Voit helposti luoda CI/CD-putkemme tarvitsemat objektit komennolla oc create
seuraavasti:
$ oc create -f k8s-api-objs.yaml
imagestream.image.openshift.io/dockerfile-example luotu
buildconfig.build.openshift.io/dockerfile-example luotu
deployment.apps/dockerfile-example luotu
service/dockerfile-example luotu
route.route.openshift.io/dockerfile-example luotu
Tässä vaiheessa sinulla on yksinkertainen CI/CD-putki luotuna. Seuraava askel on käynnistää rakennus ja antaa putken käsitellä rakennus ja käyttöönotto. Voit käynnistää tällaisen toiminnon komennolla oc build
seuraavasti:
Kun putki on suorittanut ajoonsa, voit vierailla sovelluksesi käyttöönotossa seuraamalla reittiä, jonka tulisi näyttää tältä: http://dockerfile-example-<your_project_name>.2.rahtiapp.fi/
. Tämä putki voidaan käynnistää uudelleen minkä tahansa sovellukseesi tehdyn päivityksen jälkeen (esim. index.html
:n päivitys), ja muutokset näkyvät lähes välittömästi. Verkkokoukut voidaan myös asettaa käynnistämään putken.
Siivous
Kun olemme tyytyväisiä sovellukseen, emme pidä sitä käynnissä klusterissa vaan poistamme sen komennolla oc delete
:
Tämä poistaa kaikki objektit, joilla on tunniste app: dockerfile-example
.
Yhteenveto
Tässä oppitunnissa loimme yksinkertaisen CI/CD-putken, jolla rakennettiin ja otettiin käyttöön staattinen verkkosivu käyttäen pääasiassa Kubernetes-objekteja ImageStream, BuildConfig ja Deployment. Putkea voidaan laajentaa edelleen erillisiä työkaluja ja resursseja, kuten Jenkins, Tekton ja Verkkokoukut, käyttämällä.