Šiandienos pamokoje vaizdams saugoti naudosime „GitLab“ konteinerių registrą. Norėdami sužinoti apie „GitLab“ diegimą ir konfigūracijas, žiūrėkite mūsų „GitLab“ vadovą.
Pirmiausia pradėkime nuo konteinerio diegimo.
1. Konfigūruokite konteinerių registrą
Eikite į administratoriaus sritį ir pirmiausia pastebite, kad pagal numatytuosius nustatymus „Container“ registras yra išjungtas.
Įdiekite „Container“ registrą
Turėtume modifikuoti „GitLab“ konfigūracijos failą. Įveskite šią komandą:
a) Pakeiskite „gitlab“.rb
vim / etc / gitlab / gitlab.rb
Pakeiskite šią eilutę:
register_external_url 'https: // gitlab.fosslinux.com: 5050 '
Dabar registro URL klausosi HTTPS naudojant esamą „GitLab“ URL su kitu prievadu.
b) Po modifikavimo turite iš naujo sukonfigūruoti „Gitlab“.
„gitlab-ctl“ perkonfigūruoti
Baigę eikite į administratoriaus sritį ir šį kartą turėtumėte pamatyti, kad ji įgalinta.
c) Išbandykite konteinerio prisijungimą naudodami kitą mašiną. Tačiau atkreipkite dėmesį, kad „Docker“ turėtų būti įdiegtas toje sistemoje.
docker prisijungimo gitlab.fosslinux.com: 5050
Numatytoji vaizdų saugyklos vieta yra tokia:
/ var / opt / gitlab / gitlab-rails / shared / register
Jei norite pakeisti kelią, naudokite VIM, kad jį redaguotumėte.
vim / etc / gitlab / gitlab.rb
Pakeiskite šią eilutę:
gitlab_rails ['register_path'] = "/ kelias / į / registras / saugykla"
Tada perkonfigūruokite.
„gitlab-ctl“ perkonfigūruoti
2. Projekto kūrimas
Sukursime naują dujotiekio projektą. Norėdami tai padaryti, eikite į administratoriaus sritį.
Turėtumėte pamatyti panašų administratoriaus sritį:
Tada spustelėkite naują grupę.
Savo grupei galite suteikti bet kokį pavadinimą. Tada įveskite projekto URL pavadinimą. Matomumo lygis čia yra „Privatus“; sukūrėme grupę pavadinimu „gitdemo.“
Tada vėl eikite į administratoriaus sritį -> naujas projektas
Pavadinkite projektą. Pasirinkite anksčiau sukurtą projekto grupę.
Sukūrę Projektą, į saugyklą galite pridėti failo pavyzdį.
3. Įgalinti projekto konteinerių registrą
Eiti į Projekto parametrai -> Generolas o tada plėstis Matomumas, „Projet“ funkcijos, leidimai.
Tada įjunkite Konteinerių registras.
Dabar eikite į savo projektą ir pakuočių skyriuje galite pamatyti konteinerių registrą.
4. Išjunkite „AutoDevops“
Eik į savo projektą -> Nustatymai -> CICD
Tada išsiplėskite „Auto DevOps“ ir panaikinti pasirinkimąNumatytasis „Auto DevOps“ dujotiekis.“
5. Sukurkite SSH raktą iš kliento / kūrėjo mašinos
Čia mes sukursime ssh raktą ir patvirtinsime savo „GitLab“. Po to mes galime stumti, traukti, klonuoti git saugyklas iš savo kliento mašinos.
a) Paleiskite šią komandą, kad sugeneruotumėte raktą:
ssh-keygen -t rsa -b 4096 -C "darshana @ fosslinux.com "
b) Kopijuoti viešąjį raktą:
katė ~ /.ssh / is_rsa_pub
Dabar prisijunkite prie „GitLab“ serverio. Eikite į profilį -> SSH raktai
c) Pridėti raktą į nukopijuotą raktą ir išsaugoti.
d) Dabar turime gauti „Clone“ atpirkimo URL naudodami SSH.
Eikite į savo projektą -> Klonas.
Kopijuoti kloną su ssh URL.
Prieš ketindami klonuoti saugyklą prie savo kompiuterio, turime įdiegti „git“
Įdiekite „git“ kliento-serverio serveryje:
yum įdiegti git -y
Dabar ketiname klonuoti saugyklą ir perkelti savo kodą į „Gitlab“ saugyklą.
Gaukite visuotinę sąranką
git config - pasaulinis vartotojas.pavadinimas "Darshana"
git config - pasaulinis vartotojas.paštas "darshana @ fosslinux.com "
Norėdami klonuoti saugyklą, vykdykite šią komandą:
git klonas git @ git.fosslinuxcom: gitdemo / fosslinux.git
Nukopijuokite šaltinio kodą į klonuotą aplanką.
Eikite į klonuotą aplanką:
cd fosslinux
Dabar perkelkite kodą į saugyklą:
git pridėti .
git statusas
git įsipareigoti -m "demonstraciniai projekto failai"
git stumti
6. Įdiekite „GitLab Runner“
Rekomenduojama „GitLab Runner“ įdiegti serveryje, atskirame nuo to, kur įdiegta „GitLab“. Taip pat galite jį įdiegti tame pačiame serveryje, jei vis tiek to norite.
Čia mes pasitelksime „Docker“ vykdytoją; todėl prieš naudodami „Runner“ turėtume įdiegti „Docker“.
a) „Docker“ vykdytojas
„GitLab Runner“ gali naudoti „Docker“, kad paleistų užduotis naudotojo pateiktuose vaizduose, nes naudojamas „Docker“ vykdytojas.
„Docker“ vykdytojas, naudodamasis „GitLab CI“, prisijungia prie „Docker Engine“ ir kiekvieną paketą paleidžia izoliuotame konteineryje naudodamas iš anksto nustatytą vaizdą, sukonfigūruotą „Gitlab CI“ faile. Pamatysime „Gitlab CI“ failą, kai aptarsime dujotiekį.
Įdiekite saugyklą:
susisukti -L https: // paketai.gitlab.com / install / repositories / runner / gitlab-runner / script.deb.sh | bash
Įdiekite „Runner“:
„apt-get install“ „gitlab-runner“
Patikrinkite bėgiko būseną:
„gitlab-runner“ būsena
Registruokis bėgikas
Čia mes pridėsime bendrą bėgiką. Eikite į Administratoriaus sritis -> Bėgikai.
Tada galite pamatyti Nustatykite bendrai naudojamą bėgiklį rankiniu būdu skyrius. Registruotam bėgikui reikia mūsų „Gitlab“ URL ir prieigos rakto.
Paleiskite „Register Runner“
Norėdami užregistruoti bėgiką, vykdykite šią komandą.
gitlab-bėgikų registras
Tai turėtų užduoti keletą klausimų. Atsakykite į pateiktus klausimus.
a) Įveskite „GitLab“ egzemplioriaus URL:
Įveskite „gitlab-ci“ koordinatoriaus URL (pvz.,.g. https: // gitlab.com) https: // gitlab.fosslinux.com
b) Įveskite žetoną, kurį gavote norėdami užregistruoti bėgiką:
Įveskite „gitlab-ci“ prieigos raktą šiam bėgikui xxxxxxxxxxxxxxxxxxxxxxxxx
c) Įveskite bėgiko aprašymą; vėliau galėsite tai pakeisti „GitLab“ vartotojo sąsajoje:
Įveskite „gitlab-ci“ aprašą šiam bėgikui [pagrindinio kompiuterio vardas] „Docker-runner“
d) įveskite žymas, susietas su bėgiku; vėliau galėsite tai pakeisti „GitLab“ vartotojo sąsajoje:
Įveskite šio bėgiko gitlab-ci žymas (atskirtus kableliais): master, dev, qa
e) Įveskite „Runner“ vykdytoją:
Įveskite vykdytoją: ssh, docker + machine, docker-ssh + machine, kubernetes, docker, paralels, virtualbox, docker-ssh, shell: docker
f) Jei savo vykdytoju pasirinkote „Docker“, jūsų bus paprašyta naudoti numatytąjį vaizdą projektams, kurie to neapibrėžia .gitlab-ci.yml:
Įveskite „Docker“ vaizdą (pvz.,. rubinas: 2.6): alpinis: vėliausias
Dabar bėgikas sėkmingai užsiregistravo.
Paleiskite „Runner“ iš naujo
„gitlab-runner“ paleiskite iš naujo
Dabar atnaujinkite puslapį „Bėgikai“ (Administratoriaus sritis -> Bėgikai). Galite pamatyti naujai pridėtą bėgiką.
Turime pakeisti kai kuriuos „Runner“ nustatymus. Taigi spustelėkite žetoną.
Tada pasirinkite „Vykdyti nepažymėtus darbus“ ir išsaugokite pakeitimus.
Keisti „Gitlab“ bėgikų konfigūracijas
Mes ketiname naudoti docker-in-docker (dind) režimas „GitLab“ vamzdyne, taigi mes turime naudoti privilegijuotas = tiesa mūsų „Docker“ konteineriuose. Todėl mes įjungsime privilegijuotą režimą.
Redaguoti konfigūracijos failą:
vim / etc / gitlab-runner / config.toml
Pakeiskite skyrių „privilegijuotas“.
privilegijuotas = tiesa
Po pakeitimo galite pamatyti panašų failą.
Tada paleiskite „Runner“ iš naujo.
„gitlab-runner“ paleiskite iš naujo
7. Konfigūruokite „GitLab PipeLine“ kintamuosius
Pridėti konteinerio registro kintamuosius
Spustelėkite projektą -> Nustatymai -> CICD -> Kintamieji (spustelėkite Išskleisti).
Pridėkite šį raktą ir pridėkite vertės.
CI_REGISTRY_USER CI_REGISTRY_PASSWORD
Čia turite pridėti „GitLab“ prisijungimo vardą ir slaptažodį.
Integruoti su „SonarQube“ serveriu
Gaukite „SonarQube“ prieigos raktą ir pridėkite jį prie „GitLab“. Prisijunkite prie „SonarQube“ serverio.
Eikite į Administravimas> spustelėkite Sauga> Vartotojai> Spustelėkite Žetonai
Jis turėtų atidaryti raktinį langą.
Generuoti žetoną bet kokiu pavadinimu -> Kopijuoti žetoną.
Nukopijuokite žetoną ir vėl eikite į „GitLab“. Spustelėkite projektą -> Nustatymai -> CICD -> Kintamieji
Pridėkite naują kintamąjį.
SONARQUBE_TOKEN
Įklijuokite sonaro žetoną į „SONARQUBE_TOKEN“ vertę.
8. Sukurkite vamzdyną
Šie failai turėtų būti saugyklos aplanke
a) „Dockerfile“
Norėdami sukurti savo įvaizdį, mums reikia doko failo. Vykdykite mūsų doko failo vadovą.
Čia yra mūsų doko failas:
NUO ddarshana / alpinenode10 ENV NODE_ENV = production RUN apk add -date curl && rm -rf / var / cache / apk / * RUN mkdir / app WORKDIR / app COPY package.Json . Vykdyti npm įdiegti KOPIJĄ ... CMD ["npm", "pradžia"]
Eikite į savo projektą ir sukurkite naują failą pavadinimu „Docker File.“
b) Pridėti sonaras-projektas.savybes
„Sonar“ ypatybių failas turėtų būti mūsų šaltinio kodo šakniniame kataloge, kad nuskaitymo duomenys būtų siunčiami į „SonarQube Server“.
Čia yra mūsų byla:
# Būtinas metaduomenų sonaras.projectKey = fosslinux sonaras.projectName = fosslinux # Kableliais atskirti keliai į katalogus su šaltiniais (būtina) sonaru.šaltiniai =./ # Kalbos sonaras.kalba = js sonaras.profile = node # Šaltinių failų sonaro kodavimas.sourceEncoding = UTF-8
Eikite į savo projektą ir sukurkite „sonaro projektą.savybes.“
Aš. Sukurkite „GitLab-CI“ failą
Eikite į savo projektą ir sukurkite failą pavadinimu „.gitlab-ci.yml.“
Tai yra mūsų byla.
etapai: - Nešvarūs vaizdai - Kodo kokybė - Kurkite ir skelbkite vaizdų kintamuosius: DOCKER_REGISTRY: gitlab.fosslinux.com: 5050 APP_NAME: „fosslinux linting“: etapas: „Lint images“ vaizdas: mazgas: tik „4-Alpine“: - pagrindinis scenarijus: - „npm install“ - „g dockerlint“ ir & npm „cache clean“ - rasti ./ -name Dockerfile -exec dockerlint \; codequality: stage: Codequality image: ddarshana / alpine-sonarscanner scenarijus: - sonaras-skaitytuvas -Dsonar.vedėjas.URL = https: // sonaras.fosslinux.com -Dsonar.prisijungti = $ SONARQUBE_TOKEN -Dsonar.projectVersion = $ CI_PIPELINE_ID -Dsonar.projectName = $ CI_PROJECT_NAME + tik $ CI_BUILD_REF_NAME: - pagrindinis leidyba: etapas: sukurkite ir publikuokite vaizdus vaizdas: dokas: 18.09.7 paslaugos: - dokininkas: 18.09.Tik „7-dind“: - pagrindinis scenarijus: - prisijungimas prie doko -u $ CI_REGISTRY_USER -p $ CI_REGISTRY_PASSWORD $ DOCKER_REGISTRY - doko sukūrimas . -t $ DOCKER_REGISTRY / gitdemo / $ APP_NAME: $ CI_PIPELINE_ID - dokininkas stumia $ DOCKER_REGISTRY / gitdemo / $ APP_NAME: $ CI_PIPELINE_ID - echo "nustumtas vaizdas $ APP_NAME: $ CI_PIPELINE_ID" - dokininko atsijungimas $ - dokininko atsijungimas $
Čia mes apibrėžėme tris mūsų dujotiekio etapus:
etapai: - pūkelių vaizdai - kodinė kokybė - kurkite ir skelbkite vaizdus
Dokerio registro ir programos pavadinimo nustatomi kintamieji.
kintamieji: DOCKER_REGISTRY: gitlab.fosslinux.com: 5050 APP_NAME: fosslinux
Kai atliksite pagrindinės šakos pakeitimus, dujotiekis turėtų prasidėti.
Kaip matote, dujotiekis veikia. Galite pamatyti dujotiekio etapus.
Jei visi etapai yra sėkmingi, išvestį galite pamatyti taip.
Galite spustelėti bet kuriuos etapus ir pamatyti jų žurnalus.
a) Patikrinkite konteinerių registrą.
Projektas -> Paketai -> konteinerių registras
Tada galite pamatyti mūsų vaizdą.
b) Patikrinkite sonaro ataskaitą
Prisijunkite prie „SonarQube“ ir galite pamatyti mūsų projekto ataskaitą.
Viskas apie „GitLab“ dujotiekio sukūrimą su „GitLab“ konteinerių tarnyba ir „Sonarqube“ integracija.