Сървър

Конфигуриране на GitLab Container Registry, CI Pipeline със SonarQube

Конфигуриране на GitLab Container Registry, CI Pipeline със SonarQube

В днешния урок ще използваме регистъра на контейнери GitLab за съхраняване на изображения. Моля, обърнете се към нашето ръководство за GitLab за инсталиране и конфигурации на GitLab.

Нека първо започнем с инсталирането на контейнер.

1. Конфигурирайте регистъра на контейнера

Придвижете се до администраторската област и първото нещо, което забелязвате, е регистърът на контейнера е изключен по подразбиране.

Регистърът на контейнери е изключен

Инсталирайте регистъра на контейнера

Трябва да модифицираме конфигурационния файл на GitLab. Въведете следната команда:

а) Модифицирайте gitlab.rb

vim / etc / gitlab / gitlab.rb

Променете следния ред:

registry_external_url 'https: // gitlab.fosslinux.com: 5050 '

URL адрес на регистъра

Сега URL адресът на системния регистър се слуша на HTTPS под съществуващия GitLab URL с различен порт.

б) След модификацията трябва да преконфигурирате Gitlab.

gitlab-ctl преконфигуриране

Преконфигурирайте

След като приключите, отидете в администраторската област и този път трябва да видите активирана.

Регистър на контейнери

в) Тествайте влизането в контейнера от друга машина. Имайте предвид обаче, че Docker трябва да бъде инсталиран на тази система.

docker вход gitlab -.fosslinux.com: 5050

Местоположението на магазина за изображения по подразбиране е както следва:

/ var / opt / gitlab / gitlab-rails / shared / registry

Ако искате да промените пътя, използвайте VIM, за да го редактирате.

vim / etc / gitlab / gitlab.rb

Променете следния ред:

gitlab_rails ['registry_path'] = "/ път / към / регистър / съхранение"

След това преконфигурирайте.

gitlab-ctl преконфигуриране

2. Създаване на проект

Ще създадем нов проект за тръбопровод. За да направите това, отидете в Административната зона.

Щракнете върху Администратор

Трябва да видите Административна зона, подобна на тази:

След това кликнете върху Нова група.

Създайте група

Можете да дадете произволно име на вашата група. След това въведете име за URL адреса на проекта. Тук нивото на видимост е „Частно“; създадохме група, наречена „gitdemo.”

След това отново отидете на Административна зона -> Нов проект

Нов проект

Дайте име на проекта. Изберете предварително създадената група за проекта.

След като създадете проект, можете да добавите примерен файл към хранилището.

3. Активиране на регистъра на контейнери за проект

Отидете на Настройки на проекта -> Общ и след това разширете Видимост, характеристики на Projet, разрешения.

След това активирайте Регистър на контейнери.

Активирайте регистъра за проект

Сега отидете на вашия проект и можете да видите регистъра на контейнерите в раздела за пакети.

Добавено към страничната лента

4. Деактивирайте AutoDevops

Отидете до вашия проект -> Настройки -> CICD

Деактивирайте Auto DevOps

След това разширете Auto DevOps и премахнете избора “По подразбиране на Auto DevOps тръбопровод.”

Деактивиране на функцията

5. Създайте SSH ключ от машината клиент / разработчик

Тук ще създадем ssh ключ и ще се удостоверим с нашия GitLab. След това можем да натискаме, дърпаме, клонираме git хранилища от нашата клиентска машина.

а) Изпълнете следната команда за генериране на ключ:

ssh-keygen -t rsa -b 4096 -C "darshana @ fosslinux.com "

Създаване на ключ

б) Копиране на публичен ключ:

котка ~ /.ssh / is_rsa_pub

Вземи ключ

Сега влезте в сървъра на GitLab. Отидете на Профил -> SSH ключове

в) Добавете копиран ключ към секцията с ключове и запазете.

Добавете ключ GitLab

г) Сега трябва да вземем Url за Clone repo с помощта на SSH.

Отидете на вашия проект -> Клониране.

Копирайте клонинг с ssh URL.

Clone Repo

Преди да клонираме хранилището на нашата машина, трябва да инсталираме “git”

Инсталирайте git на клиент-сървър:

yum инсталирате git -y

Сега ще клонираме хранилището и ще натиснем нашия код в хранилището Gitlab.

Git глобална настройка

git config --global потребител.име "Даршана"
git config --global потребител.имейл "darshana @ fosslinux.com "

Изпълнете следната команда, за да клонирате хранилището:

git clone git @ git.fosslinuxcom: gitdemo / fosslinux.git

Хранилище за клониране

Копирайте изходния си код в клонираната папка.

Отидете в клонираната папка:

cd fosslinux

Сега натиснете кода в хранилището:

git add .
git статус
git commit -m "демонстрационни файлове на проекта"
git push

6. Инсталирайте GitLab Runner

Препоръчително е да инсталирате GitLab Runner на сървър, отделен от мястото, където е инсталиран GitLab. Можете да го инсталирате и на същия сървър, ако все още го искате по този начин.

Тук ще използваме изпълнител на Docker; следователно трябва да инсталираме Docker преди да използваме Runner.

а) Изпълнителят на Docker

GitLab Runner може да използва Docker за изпълнение на задания на предоставени от потребителя изображения, поради използването на Docker изпълнител.

Изпълнителят на Docker, когато се използва с GitLab CI, се свързва с Docker Engine и изпълнява всяка компилация в изолиран контейнер, използвайки предварително дефинираното изображение, конфигурирано във файла Gitlab CI. Ще видим файла на Gitlab CI, когато обсъдим тръбопровода.

Инсталиране на хранилище:
curl -L https: // пакети.gitlab.com / install / repositories / runner / gitlab-runner / script.деб.ш | баш

Runner Repo

Инсталирайте Runner:
apt-get инсталирайте gitlab-runner

Инсталирайте Runner

Проверете състоянието на Runner:

gitlab-runner статус

Състояние на бегач

Регистрирайте Runner

Тук ще добавим споделен Runner. Отидете на Административна зона -> Бегачи.

Споделен бегач

Тогава можете да видите Настройте ръчно споделен бегач раздел. Нуждаем се от нашия Gitlab URL и токен за регистрирания бегач.

Runner Token

Стартирайте Регистрация на бегач

Изпълнете следната команда, за да регистрирате Runner.

регистър на gitlab-runner

Регистрирайте Runner

Трябва да зададе няколко въпроса. Отговори на следните въпроси.

а) Въведете URL адреса на вашия екземпляр на GitLab:

Моля, въведете URL адреса на координатора на gitlab-ci (напр.ж. https: // gitlab.com) https: // gitlab.fosslinux.com

б) Въведете токена, който сте получили, за да регистрирате бегача:

Моля, въведете gitlab-ci маркера за този бегач xxxxxxxxxxxxxxxxxxxxxxx

в) Въведете описание за Бегача; можете да промените това по-късно в потребителския интерфейс на GitLab:

Моля, въведете описанието на gitlab-ci за този бегач [име на хост] Docker-бегач

г) Въведете маркерите, свързани с Runner; можете да промените това по-късно в потребителския интерфейс на GitLab:

Моля, въведете gitlab-ci таговете за този бегач (разделени със запетая): master, dev, qa

д) Въведете изпълнителя на Runner:

Моля, въведете изпълнителя: ssh, docker + машина, docker-ssh + машина, kubernetes, docker, паралели, virtualbox, docker-ssh, shell: docker

е) Ако сте избрали Docker за свой изпълнител, ще бъдете помолени изображението по подразбиране да се използва за проекти, които не дефинират такъв в .gitlab-ci.yml:

Моля, въведете изображението на Docker (напр. рубин: 2.6): алпийски: последен

Сега Runner се регистрира успешно.

Рестартирайте Runner
gitlab-runner рестартиране

Сега опреснете страницата Бегачи (Административна зона -> Бегачи). Можете да видите новодобавения Runner.

Новодобавен бегач

Трябва да променим някои настройки за Runner. Така че кликнете върху маркера.

Настройка на споделен бегач

След това изберете „Стартиране на маркирани задачи“ и запазете промените.

Немаркирани проекти

Променете конфигурациите на бегачите на Gitlab

Ще използваме докер в докер (dind) режим в тръбопровода GitLab, така че трябва да използваме привилегировано = вярно в нашите Docker контейнери. Затова ще активираме привилегирован режим.

Редактиране на конфигурационния файл:

vim / etc / gitlab-runner / config.toml

Runner Mode

Променете раздела „привилегировани“.

привилегировано = вярно

След модификацията можете да видите файл, подобен на този.

Модифициран бегач

След това рестартирайте Runner.

gitlab-runner рестартиране

7. Конфигурирайте променливи за GitLab PipeLine

Добавете променливи в системния регистър

Щракнете върху проект -> Настройки -> CICD -> Променливи (щракнете върху Разгъване).

Променливи

Добавете следното към ключа и добавете стойност.

CI_REGISTRY_USER CI_REGISTRY_PASSWORD

Добавяне на променливи стойности

Тук трябва да добавите GitLab вход и парола.

Интегрирайте се със сървъра SonarQube

Вземете токена SonarQube и го добавете към GitLab. Влезте в сървъра SonarQube.

Отидете на Администриране> щракнете върху Сигурност> Потребители> Щракнете върху Токени

Сонарен жетон

Той трябва да отвори символен прозорец.

Генериране на жетон

Генериране на маркер с произволно име -> Копиране на маркера.

Нов жетон

Копирайте маркера и отидете отново в GitLab. Щракнете върху проект -> Настройки -> CICD -> Променливи

Добавете нова променлива.

SONARQUBE_TOKEN

Поставете тонара на сонара към стойността „SONARQUBE_TOKEN“.

8. Създайте тръбопровод

Следните файлове трябва да са в папката на хранилището

а) Dockerfile

Имаме нужда от докер файл, за да изградим нашето изображение. Следвайте нашето ръководство за докер файлове.

Ето нашия докер файл:

ОТ ddarshana / alpinenode10 ENV NODE_ENV = производство RUN apk добавяне - актуализиране на curl && rm -rf / var / cache / apk / * RUN mkdir / app WORKDIR / app COPY пакет.json . РАБОТА npm инсталиране КОПИРАНЕ ... CMD ["npm", "start"]

Отидете на вашия проект и създайте нов файл, наречен „Docker File.”

Добавете Docker файл

б) Добавяне сонар-проект.Имоти

Файлът на свойствата на Sonar трябва да е в основната директория на нашия изходен код, за да изпраща данни за сканиране към SonarQube Server.

Ето нашия файл:

# Необходим сонар за метаданни.projectKey = сонар за fosslinux.projectName = fosslinux # Пътища, разделени със запетая, до директории с източници (задължителен) сонар.източници =./ # Езиков сонар.език = js сонар.profile = node # Кодиране на сонарни файлове с източници.sourceEncoding = UTF-8

Отидете на вашия проект и създайте „sonar-project.Имоти.”

Добавяне на файл със свойства на сонар

Аз. Създайте GitLab-CI файл

Отидете на вашия проект и създайте файл, наречен „.gitlab-ci.yml.”

Файл на тръбопровода

Това е нашият файл.

етапи: - Lint изображения - Codequality - Изграждане и публикуване на променливи изображения: DOCKER_REGISTRY: gitlab.fosslinux.com: 5050 APP_NAME: свързване на fosslinux: stage: Lint images image: node: 4-alpine: - master script: - npm install -g dockerlint && npm cache clean - find ./ -name Dockerfile -exec dockerlint  \; codequality: етап: изображение на Codequality: ddarshana / alpine-sonarscanner script: - sonar-scanner -Dsonar.домакин.url = https: // сонар.fosslinux.com -Dsonar.вход = $ SONARQUBE_TOKEN -Dsonar.projectVersion = $ CI_PIPELINE_ID -Dsonar.projectName = $ CI_PROJECT_NAME + $ CI_BUILD_REF_NAME само: - главно публикуване: етап: Изграждане и публикуване на изображения image: docker: 18.09.7 услуги: - докер: 18.09.Само 7-динд: - главен скрипт: - вход за докер -u $ CI_REGISTRY_USER -p $ CI_REGISTRY_PASSWORD $ DOCKER_REGISTRY - изграждане на докер . -t $ DOCKER_REGISTRY / gitdemo / $ APP_NAME: $ CI_PIPELINE_ID - docker push $ DOCKER_REGISTRY / gitdemo / $ APP_NAME: $ CI_PIPELINE_ID - echo "push image $ APP_NAME: $ CI_PIPELINE_ID" - докер изход $ DRYER_

Тук дефинирахме три етапа за нашия тръбопровод:

етапи: - Линтови изображения - Кодекс - Създаване и публикуване на изображения

Променливите са зададени за регистъра на докер и името на приложението.

променливи: DOCKER_REGISTRY: gitlab.fosslinux.com: 5050 APP_NAME: fosslinux

След като извършите промени в главния клон, тръбопроводът трябва да започне.

Тръбопроводът е стартиран

Както виждате, тръбопроводът работи. Можете да видите етапите на тръбопровода.

Тръбопровод

Ако всички етапи са успешни, можете да видите резултата, както следва.

Завършен тръбопровод

Можете да кликнете върху всякакви етапи и да видите техните дневници.

Изход на етап

а) Проверете регистъра на контейнера.

Проект -> Пакети -> регистър на контейнери

Избутано изображение

Тогава можете да видите нашето изображение.

б) Проверете отчета на сонара

Влезте в SonarQube и можете да видите отчета за нашия проект.

Доклад на сонара

Това е всичко за създаването на тръбопровод GitLab с контейнерна услуга GitLab и интеграция Sonarqube.

Контролирайте и управлявайте движението на мишката между множество монитори в Windows 10
Двоен дисплей на мишката ви позволява да контролирате и конфигурирате движението на мишката между множество монитори, като забавя движенията му близо ...
WinMouse ви позволява да персонализирате и подобрите движението на показалеца на мишката на компютър с Windows
Ако искате да подобрите функциите по подразбиране на показалеца на мишката, използвайте безплатна програма WinMouse. Той добавя още функции, за да ви ...
Бутонът на левия бутон на мишката не работи в Windows 10
Ако използвате специална мишка с вашия лаптоп или настолен компютър, но бутонът на левия бутон на мишката не работи на Windows 10/8/7 по някаква причи...