Рубрики
Uncategorized

Gitlab CI / CD: Руководство по созданию вашего трубопровода

Эта статья о создании успешного CICD для вашего приложения с использованием GitLab. Современное развитие … Теги с CICD, DEVOPS, производительностью, начинающими.

Эта статья о создании успешного CICD для вашего приложения с использованием GitLab.

Современное развитие движется быстрее и требует больше от разработчиков, чем когда-либо. Инструменты и концепции вокруг CICD помогают разработчикам доставлять ценность быстрее и прозрачно.

Вы могли бы услышать термин CICD который коротко для непрерывной интеграции (CI) и непрерывной доставки или непрерывного развертывания (CD). В двух словах CICD является автоматическим Возможность и практика Направлены на включение разработчиков программного обеспечения для постоянного доставки программного обеспечения из среды в другую с помощью одной команды или нажатием кнопки.

Создание трубопровода в Gitlab легко, как пирог, и каждый может это сделать. Удаленная машина и репозиторий GitLab необходимы для настройки. Предстоящие сеансы будут осторожны, чтобы настроить вашу дистанционную машину и уточнить основы конфигурации файла YAML.

1. Требования 2. Настройка агента бегуна GitLab на удаленном компьютере 3. Конфигурация трубопровода 4. Непрерывная интеграция 5. Непрерывная доставка

1. Требования

Прежде чем мы погрузиться в CI/CD Реализация, мы должны убедиться, что на нас будут готовы следующие.

1. Gitlab Repository 2. Удаленный сервер

Создайте репозиторий на GitLab и настройте свой проект в нем. Нам также нужен Удаленная машина с Гит установлен на нем. Удаленный экземпляр можно использовать для запуска наших сценариев трубопроводов, а также развернуть наш проект.

2. Настройка агента Runner GitLab

Gitlab Runner — это инструмент, который мы использовали для запуска нашего Работа и отправьте результаты обратно в GitLab. Он предназначен для запуска на Linux, MacOS и Windows.

1. Установите GitLab Runner

Вот ссылка к другому Методы установки , вы можете выбрать тот, который подходит для вашего удаленного машины.

Метод двоичного монтажа для Linux X86-64 , это то, что я показываю здесь. В основном, просто загрузите двоичный файл на /usr/local/bin/ каталог и сделать его исполняемым исполнением.

Выберите Бинарный ALY Согласно архитектуре системы. Тип арка На вашем терминале узнать системную архитектуру.

  • Скачать двоичный
# Linux x86-64
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
  • Дать разрешение на выполнение
  sudo chmod +x /usr/local/bin/gitlab-runner
  • Создать пользователь GitLab CI
  sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
  • Установите и запустите как сервис
  sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
  sudo gitlab-runner start

2. Зарегистрируйте бегун

Есть три типа бегунов:

  1. Поделился (для всех проектов)
  2. Группа (для всех проектов в группе)
  3. Специфический (для конкретных проектов)

Мы собираемся создать определенный бегун здесь. Так что убедитесь, что у вас есть собственность на проект. Хорошо, давайте пройдемся через следующие шаги, чтобы зарегистрировать наш бегун.

  • Перейти к проекту Настройки> CI/CD и расширить Бегун раздел.
  • Нажмите на кнопку «Отключить общие прослушиватели», если она включена.
  • Обратите внимание на регистрационный токен.

Убедитесь, что у вас есть регистрационный токен, то мы готовы зарегистрировать наш бегун GitLab.

  • Запустите следующую команду.
sudo gitlab-runner register

Команда подскажет вам несколько вопросов для регистрации

  1. Введите URL-адрес координатора ( https://gitlab.com/ )
  2. Введите токен, который вы получили.
  3. Введите описание для этого бегуна.
  4. Введите теги для бегуна. (Оставьте его пустым, если вы не используете несколько бегунов для проекта.)
  5. Выберите Руководитель исполнителя (например: Shell )

У нас есть еще один шаг. Не обязательно, если вы не собираетесь использовать какие-либо разрешения ( sudo ) команды в вашем задании CI/CD

Добавьте следующую строку в конец /etc/sudoers файл.

gitlab-runner ALL=(ALL) NOPASSWD:ALL

Все набор, теперь мы готовы перейти к конфигурации трубопроводов.

3. Конфигурация трубопровода

Нам нужны .gitlab-ci.yml Файл в корне репозитория, который определяет структуру и порядок трубопроводов и определяет, что выполнить с использованием Gitlab Runner Отказ

Давайте погрузимся в основы файла yaml.

рабочие места

Это самый фундаментальный элемент .gitlab-ci.yml файл. Как его название предлагает, вот мы пишем наши сценарии. Работа подбираются бегуны и выполнен в окружающей среде бегуна.

  job 1:
    script: "execute script for job1"

  job 2:
    script: "execute script for job2"

стадии

Это помогает определить разные Этапы в трубопроводе. Определение определения будет окончательным порядком выполнения рабочих мест.

  stages:
    - build
    - test
    - deploy

сцена

Это зависит от Этапы и позволяет группировать Работа на разные этапы. Работа того же Этап выполнены параллельно.

  stages:
    - build
    - test
    - deploy

  job 0:
    stage: .pre
    script: make something useful before build stage

  job 1:
    stage: build
    script: make build dependencies

  job 2:
    stage: build
    script: make build artifacts

  job 3:
    stage: test
    script: make test

  job 4:
    stage: deploy
    script: make deploy

  job 5:
    stage: .post
    script: make something useful at the end of the pipeline

оздоровительный и .post Этапы доступны для каждого трубопровода. Пользовательские этапы выполняются после оздоровительный и до .post Отказ

Стоит также упомянуть два краевых случая:

  1. Если нет Этапы определены в .gitlab-ci.yml Тогда построить , Тест и Развертывание . разрешено быть в качестве этапа работы по умолчанию.

  2. Если работа не указывает Этап Работа будет автоматически назначена на Тест сцена.

4. Непрерывная интеграция

Вы можете настроить набор сценариев для создания и проверки вашего приложения на каждом кодовом толчке, который может сэкономить свое приложение от внезапных сюрпризов.

Давайте сделаем простую CI.

stages:
  - test

Test:
  stage: test
  script:
    - echo "write your test here."
    - test -f "index.html"

Вышеуказанное задание проверит index.html Файл существует или нет. Если это не существует, работа потерпит неудачу. Здесь CI работает на каждом коде нажимает в репозиторий, хотя мы не дали никакого контроля на работу Тест Отказ

Хорошо, давайте перейдем к доставке.

5. Непрерывная доставка

Непрерывная доставка — это практика развития, где изменения кода автоматически подготовлены для выпуска до производства. Это расширение непрерывной интеграции, чтобы убедиться, что вы можете быстро освободить новые изменения ваших клиентов устойчивым образом.

stages:
  - test
  - deploy

Test:
  stage: test
  script:
    - echo "write your test here."
    - test -f "index.html"

Deploy:
  only:
    refs:
      - master
  stage: deploy
  script:
    - sudo cp -R ./index.html /var/www/html/

Здесь вы видите Развертывание Работа с Только Ключевое слово, которое позволяет запустить работу только на Мастер Действия ветвей.

Всякий раз, когда вы столкнулись с любым недостатком работы, вы сможете увидеть журналы на консоли. Это поможет вам двигаться вперед.

Вывод

Мы здесь! Мы взяли дополнительный шаг в нашем техническом путешествии. В современном разработке программного обеспечения CICD является важным фактором для рассмотрения. Так что я надеюсь, что это руководство имеет смысл всем.

«Выпуск программного обеспечения слишком часто арт; это должна быть инженерная дисциплина». — Дэвид Фарли.

Оригинал: «https://dev.to/prakhil_tp/gitlab-ci-cd-a-guideline-to-set-up-your-pipeline-2gkh»