CICD: различия между версиями
Vovan (обсуждение | вклад) (→Шаг 1.1) |
Vovan (обсуждение | вклад) |
||
| Строка 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. На что влияют названия тегов, указываемых при конфигурирования средства выполнения?