Server

Konfigurácia registra kontajnerov GitLab, CI Pipeline so SonarQube

Konfigurácia registra kontajnerov GitLab, CI Pipeline so SonarQube

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ý.

Register kontajnerov je 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 '

Adresa URL registra

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

Znova nakonfigurujte

Po dokončení prejdite do oblasti pre správu a tentoraz by sa mala zobraziť povolená.

Register kontajnerov

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.

Kliknite na položku Správca

Mali by ste vidieť Správcovskú oblasť podobnú tejto:

Potom kliknite na novú skupinu.

Vytvorte 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

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.

Povoliť register pre projekt

Teraz choďte na svoj projekt a v sekcii balíčky môžete vidieť register kontajnerov.

Pridané na bočný panel

4. Zakázať funkciu AutoDevops

Choď do svojho projekt -> nastavenie -> CICD

Zakázať automatické DevOps

Potom rozbaľte Auto DevOps a zrušiť výber „Predvolené pre automatický kanál DevOps.“

Zakázať funkciu

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 "

Vytvoriť kľúč

b) Skopírujte verejný kľúč:

mačka ~ /.ssh / is_rsa_pub

Získajte kľúč

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.

Pridajte kľúč GitLab

d) Teraz musíme získať adresu URL pre klonované repo pomocou SSH.

Prejdite na svoj projekt -> Klonovať.

Skopírujte klon pomocou ssh URL.

Klonovať repo

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

Klonovať úložisko

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

Bežec Repo

Nainštalovať Runner:
apt-get nainštalovať gitlab-runner

Nainštalujte Runner

Skontrolujte stav bežca:

status gitlab-runner

Stav bežca

Registrujte bežca

Tu pridáme zdieľaného Runnera. Prejdite do oblasti Správca -> Bežci.

Zdieľaný bežec

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.

Bežecký žetón

Spustiť Registrovať bežca

Spustením nasledujúceho príkazu zaregistrujte bežca.

register gitlab-runner

Registrujte bežca

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.

Novo pridaný bežec

Musíme upraviť niektoré nastavenia pre Runner. Takže kliknite na token.

Zdieľané nastavenie bežca

Potom vyberte možnosť „Spustiť neoznačené úlohy“ a uložte zmeny.

Neoznačené projekty

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

Bežecký režim

Zmeňte sekciu „privilegované“.

privilegovaný = pravda

Po úprave sa zobrazí podobný súbor.

Upravený bežec

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ť).

Premenné

Pridajte do kľúča nasledovné a pridajte hodnotu.

CI_REGISTRY_USER CI_REGISTRY_PASSWORD

Pridávanie premenných hodnôt

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

Token sonaru

Mal by otvoriť okno s tokenmi.

Generovať token

Vygenerujte token s ľubovoľným názvom -> Skopírujte token.

Nový 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.“

Pridajte 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.“

Pridajte súbor vlastností sonaru

Ja. Vytvorte súbor GitLab-CI

Prejdite do svojho projektu a vytvorte súbor s názvom „.gitlab-ci.yml.“

Pipeline File

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.

Potrubie bolo spustené

Ako vidíte, ropovod beží. Môžete vidieť fázy potrubia.

Potrubie

Ak sú všetky fázy úspešné, môžete vidieť výstup nasledovne.

Dokončené potrubie

Môžete kliknúť na ľubovoľné fázy a zobraziť ich protokoly.

Výstup fázy

a) Skontrolujte register kontajnerov.

Projekt -> Balíky -> register kontajnerov

Vytlačený obrázok

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.

Správa zo sonaru

To je všetko o vytvorení potrubia GitLab s kontajnerovou službou GitLab a integráciou Sonarqube.

Hry Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Emulátor Dolphin vám umožní hrať vybrané hry Gamecube a Wii na osobných počítačoch Linux (PC). Emulátor Dolphin, ktorý je voľne dostupným emulátorom ...
Hry Ako používať GameConqueror Cheat Engine v Linuxe
Ako používať GameConqueror Cheat Engine v Linuxe
Tento článok obsahuje sprievodcu používaním cheatovacieho modulu GameConqueror v systéme Linux. Mnoho používateľov, ktorí hrajú hry v systéme Windows,...
Hry Najlepšie emulátory herných konzol pre systém Linux
Najlepšie emulátory herných konzol pre systém Linux
V tomto článku je uvedený zoznam populárneho softvéru na emuláciu herných konzol, ktorý je k dispozícii pre systém Linux. Emulácia je vrstva kompatibi...