V dnešnom tutoriále použijeme register kontajnerov GitLab na ukladanie obrázkov. Inštaláciu a konfigurácie GitLab nájdete v našej príručke GitLab.
Najprv začnime s inštaláciou kontajnera.
1. Konfigurácia registra kontajnerov
Prejdite do oblasti správcu a prvá vec, ktorú si všimnete, je, že register kontajnerov je v predvolenom nastavení vypnutý.
Nainštalujte register kontajnera
Mali by sme upraviť konfiguračný súbor GitLab. Zadajte nasledujúci príkaz:
a) Upravte gitlab.rb
vim / etc / gitlab / gitlab.rb
Zmeňte nasledujúci riadok:
registry_external_url 'https: // gitlab.fosslinux.com: 5050 '
Teraz adresa URL registra počúva na HTTPS pod existujúcou adresou GitLab s iným portom.
b) Po úprave musíte prekonfigurovať Gitlab.
prekonfigurujte gitlab-ctl
Po dokončení prejdite do oblasti pre správu a tentoraz by sa mala zobraziť povolená.
c) Vyskúšajte prihlásenie do kontajnera z iného počítača. Pamätajte však, že Docker by mal byť nainštalovaný na tomto systéme.
prihlásenie docker gitlab.fosslinux.sk: 5050
Predvolené umiestnenie úložiska obrázkov je nasledovné:
/ var / opt / gitlab / gitlab-rails / shared / register
Ak chcete zmeniť cestu, upravte ju pomocou VIM.
vim / etc / gitlab / gitlab.rb
Zmeňte nasledujúci riadok:
gitlab_rails ['registry_path'] = "/ cesta / do / registra / úložiska"
Potom prekonfigurujte.
prekonfigurujte gitlab-ctl
2. Vytvorenie projektu
Vytvoríme nový projekt ropovodu. Ak to chcete urobiť, prejdite do oblasti Správca.
Mali by ste vidieť Správcovskú oblasť podobnú tejto:
Potom kliknite na novú skupinu.
Skupine môžete dať ľubovoľné meno. Potom zadajte názov adresy URL projektu. Úroveň viditeľnosti je tu „súkromná“; vytvorili sme skupinu s názvom „gitdemo.“
Potom znova prejdite do oblasti Správca -> Nový projekt
Pomenujte projekt. Vyberte predtým vytvorenú skupinu pre projekt.
Po vytvorení projektu môžete do úložiska pridať vzorový súbor.
3. Povoliť register kontajnerov pre projekt
Ísť do Nastavenia projektu -> Všeobecné a potom rozbaľte Viditeľnosť, vlastnosti projektora, povolenia.
Potom povoľte Register kontajnerov.
Teraz choďte na svoj projekt a v sekcii balíčky môžete vidieť register kontajnerov.
4. Zakázať funkciu AutoDevops
Choď do svojho projekt -> nastavenie -> CICD
Potom rozbaľte Auto DevOps a zrušiť výber „Predvolené pre automatický kanál DevOps.“
5. Vytvorte kľúč SSH zo stroja klienta / vývojára
Tu vytvoríme ssh kľúč a autentifikáciu pomocou nášho GitLabu. Potom môžeme tlačiť, ťahať, klonovať úložiská git z nášho klientskeho počítača.
a) Spustením nasledujúceho príkazu vygenerujte kľúč:
ssh-keygen -t rsa -b 4096 -C "darshana @ fosslinux.com "
b) Skopírujte verejný kľúč:
mačka ~ /.ssh / is_rsa_pub
Teraz sa prihláste na server GitLab. Prejdite na Profil -> Kľúče SSH
c) Pridajte skopírovaný kľúč do sekcie kľúča a uložte ho.
d) Teraz musíme získať adresu URL pre klonované repo pomocou SSH.
Prejdite na svoj projekt -> Klonovať.
Skopírujte klon pomocou ssh URL.
Predtým, ako sa chystáme naklonovať úložisko do nášho počítača, musíme si nainštalovať „git“
Nainštalujte git na klient-server:
yum nainštalovať git -y
Teraz ideme klonovať úložisko a tlačiť náš kód do úložiska Gitlab.
Globálne nastavenie Git
git config - globálny užívateľ.meno „Daršana“
git config - globálny užívateľ.e-mail "darshana @ fosslinux.com "
Spustite nasledujúci príkaz na klonovanie úložiska:
git klon git @ git.fosslinuxcom: gitdemo / fosslinux.git
Skopírujte zdrojový kód do klonovaného priečinka.
Prejdite do klonovaného priečinka:
cd fosslinux
Teraz zatlačte kód do úložiska:
git pridať .
stav git
git commit -m "ukážkové súbory projektu"
git push
6. Nainštalujte si GitLab Runner
Odporúča sa nainštalovať GitLab Runner na server oddelene od miesta, kde je nainštalovaný GitLab. Môžete to tiež nainštalovať na ten istý server, ak to tak stále chcete.
Tu použijeme Dockerovho exekútora; Preto by sme si mali Docker nainštalovať skôr, ako použijete Runner.
a) Dockerov exekútor
GitLab Runner môže používať Docker na spúšťanie úloh na obrázkoch poskytnutých používateľom z dôvodu použitia vykonávača Docker.
Vykonávač Docker, keď sa používa s GitLab CI, sa pripojí k Docker Engine a spustí každé zostavenie v izolovanom kontajneri pomocou preddefinovaného obrázka, ktorý je nakonfigurovaný v súbore Gitlab CI. Keď budeme diskutovať o Pipeline, súbor Gitlab CI uvidíme.
Inštalovať úložisko:
curl -L https: // balíčky.gitlab.com / install / repositories / runner / gitlab-runner / script.deb.sh | bash
Nainštalovať Runner:
apt-get nainštalovať gitlab-runner
Skontrolujte stav bežca:
status gitlab-runner
Registrujte bežca
Tu pridáme zdieľaného Runnera. Prejdite do oblasti Správca -> Bežci.
Potom môžete vidieť Nastaviť zdieľaného bežca manuálne oddiel. Potrebujeme našu adresu Gitlab a token pre zaregistrovaného bežca.
Spustiť Registrovať bežca
Spustením nasledujúceho príkazu zaregistrujte bežca.
register gitlab-runner
Malo by položiť niekoľko otázok. Odpovedaj na nasledujúce otázky.
a) Zadajte adresu URL inštancie GitLab:
Zadajte adresu URL koordinátora gitlab-ci (napr.g. https: // gitlab.com) https: // gitlab.fosslinux.com
b) Zadajte token, ktorý ste získali na registráciu bežca:
Zadajte token gitlab-ci pre tohto bežca xxxxxxxxxxxxxxxxxxxxxxxxx
c) Zadajte popis bežca; toto môžete zmeniť neskôr v používateľskom rozhraní GitLabu:
Zadajte popis gitlab-ci tohto bežca [hostname] Docker-runner
d) Zadajte značky spojené s bežcom; toto môžete zmeniť neskôr v používateľskom rozhraní GitLabu:
Zadajte značky gitlab-ci pre tohto bežca (oddelené čiarkou): master, dev, qa
e) Zadajte vykonávateľa Runner:
Zadajte exekútora: ssh, docker + machine, docker-ssh + machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell: docker
f) Ak ste si vybrali Exekútora Docker, zobrazí sa výzva na použitie predvoleného obrázka pre projekty, ktoré nedefinujú žiaden .gitlab-ci.yml:
Zadajte obrázok Dockera (napr. rubín: 2.6): vysokohorský: najnovšie
Teraz sa Runner úspešne zaregistroval.
Reštartujte bežca
reštart gitlab-runner
Teraz obnovte stránku Bežci (oblasť správcu -> Bežci). Môžete vidieť novo pridaného Runnera.
Musíme upraviť niektoré nastavenia pre Runner. Takže kliknite na token.
Potom vyberte možnosť „Spustiť neoznačené úlohy“ a uložte zmeny.
Zmeňte konfigurácie bežcov Gitlab
Ideme použiť docker-in-docker (dind) režim v potrubí GitLab, takže musíme použiť privilegovaný = pravda v našich kontajneroch Docker. Preto povolíme privilegovaný režim.
Upraviť konfiguračný súbor:
vim / etc / gitlab-runner / config.hrobka
Zmeňte sekciu „privilegované“.
privilegovaný = pravda
Po úprave sa zobrazí podobný súbor.
Potom reštartujte Runner.
reštart gitlab-runner
7. Nakonfigurujte premenné pre GitLab PipeLine
Pridajte premenné registra kontajnera
Kliknite na projekt -> Nastavenia -> CICD -> Premenné (kliknite na Rozbaliť).
Pridajte do kľúča nasledovné a pridajte hodnotu.
CI_REGISTRY_USER CI_REGISTRY_PASSWORD
Tu je potrebné pridať prihlasovacie meno a heslo pre GitLab.
Integrácia so serverom SonarQube
Získajte token SonarQube a pridajte ho do GitLabu. Prihláste sa na server SonarQube.
Prejdite do časti Správa> kliknite na Zabezpečenie> Používatelia> Kliknite na Tokeny
Mal by otvoriť okno s tokenmi.
Vygenerujte token s ľubovoľným názvom -> Skopírujte token.
Skopírujte token a znova choďte na GitLab. Kliknite na projekt -> Nastavenia -> CICD -> Premenné
Pridajte novú premennú.
SONARQUBE_TOKEN
Prilepte token sonaru na hodnotu „SONARQUBE_TOKEN“.
8. Vytvorte kanál
Nasledujúce súbory by mali byť v priečinku úložiska
a) Dockerfile
Na vytvorenie nášho imidžu potrebujeme súbor ukotvenia. Postupujte podľa nášho sprievodcu súborom ukotviteľného panelu.
Tu je náš súbor ukotvenia:
FROM ddarshana / alpinenode10 ENV NODE_ENV = production RUN apk add --update curl && rm -rf / var / cache / apk / * RUN mkdir / app WORKDIR / app COPY balíček.json . RUN npm install COPY ... CMD ["npm", "start"]
Prejdite do svojho projektu a vytvorte nový súbor s názvom „Súbor Docker.“
b) Pridať sonar-projekt.vlastnosti
Súbor vlastností sonaru by mal byť v našom koreňovom adresári zdrojového kódu, aby sa mohli odoslať naskenované údaje na server SonarQube.
Tu je náš súbor:
# Požadovaný sonar metadát.projectKey = sonar fosslinux.projectName = fosslinux # Čiarkami oddelené cesty k adresárom so zdrojmi (povinné) sonar.zdroje =./ # Jazykový sonar.jazyk = js sonar.profil = uzol # Kódovanie zdrojových súborov sonar.sourceEncoding = UTF-8
Choďte do svojho projektu a vytvorte „sonar-project.vlastnosti.“
Ja. Vytvorte súbor GitLab-CI
Prejdite do svojho projektu a vytvorte súbor s názvom „.gitlab-ci.yml.“
Toto je náš spis.
fázy: - obrázky vlákien - kódová kvalita - vytváranie a publikovanie premenných obrázkov: DOCKER_REGISTRY: gitlab.fosslinux.com: 5050 APP_NAME: fosslinux linting: fáza: obrázky chmýří obrázok: uzol: iba 4-alpské: - hlavný skript: - npm install -g dockerlint && npm cache clean - nájsť ./ -name Dockerfile -exec dockerlint \; codequality: stage: Obrázok codequality: ddarshana / alpine-sonarscanner skript: - sonar-scanner -Dsonar.hostiteľ.url = https: // sonar.fosslinux.com -Dsonar.login = $ SONARQUBE_TOKEN -Dsonar.projectVersion = $ CI_PIPELINE_ID -Dsonar.iba názov projektu = $ CI_PROJECT_NAME + $ CI_BUILD_REF_NAME: - hlavné publikovanie: fáza: vytváranie a zverejňovanie obrázkov obrázok: ukotviteľný panel: 18.09.7 služieb: - dokovacia stanica: 18.09.Iba 7-denný: - hlavný skript: - prihlásenie docker -u $ CI_REGISTRY_USER -p $ CI_REGISTRY_PASSWORD $ DOCKER_REGISTRY - zostavenie docku . -t $ DOCKER_REGISTRY / gitdemo / $ APP_NAME: $ CI_PIPELINE_ID - push dockera $ DOCKER_REGISTRY / gitdemo / $ APP_NAME: $ CI_PIPELINE_ID - echo „push image $ APP_NAME: $ CI_PIPELINE_ID“ - odhlásenie dockera $ DOCKER_REGISTRY
Tu sme pre náš plynovod definovali tri etapy:
etapy: - Lint obrázky - Codequality - vytváranie a publikovanie obrázkov
Pre register ukotvenia a názov aplikácie sú nastavené premenné.
premenné: DOCKER_REGISTRY: gitlab.fosslinux.com: 5050 APP_NAME: fosslinux
Po vykonaní zmien v hlavnej vetve by sa mal spustiť kanál.
Ako vidíte, ropovod beží. Môžete vidieť fázy potrubia.
Ak sú všetky fázy úspešné, môžete vidieť výstup nasledovne.
Môžete kliknúť na ľubovoľné fázy a zobraziť ich protokoly.
a) Skontrolujte register kontajnerov.
Projekt -> Balíky -> register kontajnerov
Potom môžete vidieť náš obrázok.
b) Skontrolujte správu sonaru
Prihláste sa do SonarQube a uvidíte správu o našom projekte.
To je všetko o vytvorení potrubia GitLab s kontajnerovou službou GitLab a integráciou Sonarqube.