CICD: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(→‎Шаг 1.1)
Строка 1: Строка 1:
 
=Практика по CI/CD=
 
=Практика по CI/CD=
 +
 +
==Тема 0==
 +
 +
Тема:
 +
 +
Организация доступа на GNU/Linux хост посредством протокола ssh. Установка gitlab-runner на GNU/Linux хост.
 +
 +
Отчёт:
 +
 +
В отчёт необходимо включить результат последовательного выполнения шагов 0.* и вывод по достигнутым результатам.
 +
Каждой теме и каждому шагу в отчёте необходимо дать осмысленное название.
 +
 +
===Шаг 0.1===
 +
 +
Посредством утилиты:
 +
 +
ssh-keygen
 +
 +
создайте ключевую пару (открытую и закрытую части криптографического ключа).
 +
 +
Обычно результатом создания ключевой пары являются файлы:
 +
 +
id_ed25519
 +
id_ed25519.pub
 +
 +
или:
 +
 +
id_rsa
 +
id_rsa.pub
 +
 +
(в зависимости от типа шифрования, настроенного операционной системе, на которой создаётся ключевая пара).
 +
 +
Файл с суффиксом:
 +
 +
.pub
 +
 +
содержит открытую часть ключа. Второй файл, соответственно, содержит закрытую часть ключа.
 +
 +
Закрытую часть сохраните у себя и ни кому не передавайте (это ваш будущий ключ от удалённого GNU/Linux хоста).
 +
 +
Содержимое открытой части ключа добавьте к содержимому файла:
 +
 +
authorized_keys
 +
 +
, который обычно находится в каталоге:
 +
 +
.ssh
 +
 +
внутри домашнего каталога пользователя, под которым вы планируете подключаться на GNU/Linux хост по протоколу ssh.
 +
 +
Да, верно: открытую часть ключа следует доставить на удалённый GNU/Linux хост и положить в выше упомянутый файл в выше упомянутом каталоге того пользователя удалённого GNU/Linux хоста, под которым планируется подключение.
 +
 +
Для процедуры доставки открытой части ключа можно воспользоваться утилитой:
 +
 +
ssh-copy-id
 +
 +
(если это позволяют настройки безопасности удалённого GNU/Linux хоста) либо в ручном режиме переместить содержимое открытого ключа в необходимый файл на удалённом хосте, предварительно подключившись на удалённый GNU/Linux хост по протоколу ssh по логину и паролю.
 +
 +
 +
===Шаг 0.2===
 +
 +
 +
  
 
==Тема 1==
 
==Тема 1==

Версия 20:55, 18 января 2026

Практика по CI/CD

Тема 0

Тема:

Организация доступа на GNU/Linux хост посредством протокола ssh. Установка gitlab-runner на GNU/Linux хост.

Отчёт:

В отчёт необходимо включить результат последовательного выполнения шагов 0.* и вывод по достигнутым результатам.
Каждой теме и каждому шагу в отчёте необходимо дать осмысленное название.

Шаг 0.1

Посредством утилиты:

ssh-keygen

создайте ключевую пару (открытую и закрытую части криптографического ключа).

Обычно результатом создания ключевой пары являются файлы:

id_ed25519
id_ed25519.pub

или:

id_rsa
id_rsa.pub

(в зависимости от типа шифрования, настроенного операционной системе, на которой создаётся ключевая пара).

Файл с суффиксом:

.pub

содержит открытую часть ключа. Второй файл, соответственно, содержит закрытую часть ключа.

Закрытую часть сохраните у себя и ни кому не передавайте (это ваш будущий ключ от удалённого GNU/Linux хоста).

Содержимое открытой части ключа добавьте к содержимому файла:

authorized_keys

, который обычно находится в каталоге:

.ssh

внутри домашнего каталога пользователя, под которым вы планируете подключаться на GNU/Linux хост по протоколу ssh.

Да, верно: открытую часть ключа следует доставить на удалённый GNU/Linux хост и положить в выше упомянутый файл в выше упомянутом каталоге того пользователя удалённого GNU/Linux хоста, под которым планируется подключение.

Для процедуры доставки открытой части ключа можно воспользоваться утилитой:

ssh-copy-id

(если это позволяют настройки безопасности удалённого GNU/Linux хоста) либо в ручном режиме переместить содержимое открытого ключа в необходимый файл на удалённом хосте, предварительно подключившись на удалённый GNU/Linux хост по протоколу ssh по логину и паролю.


Шаг 0.2

Тема 1

Тема:

Создание проекта в https://gitlab.nntc.nnov.ru, настройка gitlab-runner, создание простейшего файла .gitlab-ci.yml

Отчёт:

В отчёт необходимо включить результат последовательного выполнения шагов 1.* и вывод по достигнутым результатам.
Название gitlab-проекта обязательно должно включать фамилию обучающегося.
Отчёт должен содержать ссылку на существующий git-репозиторий, соответствующий репозиторию, описанному в отчёте.
Каждой теме и каждому шагу в отчёте необходимо дать осмысленное название.

Шаг 1.1

Войдите в свой аккаунт на https://gitlab.nntc.nnov.ru и создайте новый git-репозиторий.

Далее в пределах этого практикума ваш репозиторий будет иметь шаблонное название

<up_petrov_ii>

Шаг 1.2

Перейдите на страницу созданного репозитория.

Найдите раздел "Средства выполнения" в меню "Настройки - CI/CD"

Создайте средство выполнения, заполнив форму следующим образом:

Теги:

test

Остальные параметры оставьте по умолчанию, затем нажмите кнопку:

Создать средство выполнения


На следующей странице ознакомьтесь с пошаговой инструкцией по запуску средства выполнения gitlab-runner (пройдите по предлагаемым ссылкам инструкции чтобы ознакомиться наиболее полно!), скопируйте команды, которые в последующем понадобятся для запуска средства выполнения на GNU/Linux хосте, затем нажмите на кнопку:

Просмотр средств выполнения


В результате в списке средств выполнения появится ваше средство выполнения, которое будет иметь номер и уникальное название. Например:

#20 (LDBWhOpr)

Шаг 1.3

Рядом с созданным на предыдущем шаге средством выполнения будет показан треугольный значок с восклицательным знаком. Это означает, что gitlab не не подключился к средству выполнения на GNU/Linux хосте. Теперь необходимо это настроить.

Используйте скопированные ранее команды чтобы зарегистрировать средство выполнения на GNU/Linux хосте. Для этого:

1. Войдите на GNU/Linux хост по протоколу ssh;

2. Выполните команду для регистрации средства выполнения;

3. Перейдите на страницу "Средства выполнения" проекта;

4. Убедитесь что треугольный значок с восклицательным знаком пропал и на его месте появился зелёный кружок, символизирующий успешное подключение gitlab к средству выполнения (к gitlab-runner-у).


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

Шаг 1.4

Склонируйте ваш репозиторий себе на компьютер и создайте внутри файл

.gitlab-ci.yml

со следующим содержимым

stages:
  - test

hello_job:
  stage: test
  tags:
    - test
  script:
    - echo "Hello from GitLab CI"
    - uname -a
    - echo "Hello from GitLab CI" > /tmp/test
    - uname -a >> /tmp/test

Сделайте коммит (git commit) и синхронизируйте изменения с репозиторием (git push).

Затем перейдите в средство выполнения ("Сборка" - "Средства выполнения") в меню вашего репозитория в gitlab и посмотрите статус задания.

Опишите результат в отчёт.


Затем войдите по протоколу ssh на GNU/Linux хост, на котором работает средство выполнения и просмотрите содержимое файла:

/tmp/test

Опишите результат исследования файла на GNU/Linux хосте.

Шаг 1.5

Сделайте полный вывод о проделанной работе по теме 1.

Свяжите работу средства выполнения с содержимым файла:

.gitlab-ci.yml

Шаг 1.6

Ответьте на вопросы и разместите вопросы и ответы на них в отчёте.

Список вопросов:

1. Сколько команд будет выполнено средством выполнения?
2. Какие именно это команды?
3. Какие команды формируют содержимое файла test в каталоге /tmp GNU/Linux хоста?
4. Как связано название стадии (stage) и названия тегов, указываемых при конфигурировании средства выполнения?
5. На что влияют названия тегов, указываемых при конфигурирования средства выполнения?