User Tools

Site Tools


самый_простой_пример_ci_cd

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
самый_простой_пример_ci_cd [2023/02/12 20:04]
val [Шаг 5. GitLab Runner]
самый_простой_пример_ci_cd [2023/02/13 06:03]
val [Шаг 6. GitLab CI/CD]
Line 33: Line 33:
 В настройках системы назначьте не менее 4096 МБ основной памяти (4GB RAM), подключите сетевой адаптер "​мостом"​ к сетевой карте Вашего компьютера (хост системы),​ и запустите VM. В настройках системы назначьте не менее 4096 МБ основной памяти (4GB RAM), подключите сетевой адаптер "​мостом"​ к сетевой карте Вашего компьютера (хост системы),​ и запустите VM.
  
-Проведите инсталляцию системы,​ в большинстве экранов можно оставить значения по умолчанию (GUI не обязателен) установите сервис ​ssh. Можно оставить вариант автоматического (через сервис dhcp) назначения ip параметров. После финальной перезагрузки,​ подключитесь к консоли системы и узнайте назначенный ей ip адрес командой ip a.+Проведите инсталляцию системы,​ в большинстве экранов можно оставить значения по умолчанию (GUI не обязателен) установите сервис ​SSH. Можно оставить вариант автоматического (через сервис dhcp) назначения ip параметров. После финальной перезагрузки,​ подключитесь к консоли системы и узнайте назначенный ей ip адрес командой ip a.
  
-Если используете мой образ, то нужно подключиться к VM после запуска (учетная запись student/​password),​ поднять привилегии,​ настроить получение ip параметров по dhcp и активировать интерфейс,​ выполнив команды:​+Если используете мой образ, то нужно подключиться к VM после запуска (учетная запись student/​password),​ поднять привилегии,​ настроить получение ip параметров по dhcpактивировать интерфейс ​и выяснить назначенный системе ip, выполнив команды:​
  
 <​code>​ <​code>​
Line 53: Line 53:
 </​code>​ </​code>​
  
-Последняя инструкция дана ​"на всякий случай", ​для исключения ​возможных ​предупреждений о невозможности получить ip по hostname (выполнить ее можно на 2-м шаге, скопировав после подключения к VM по SSH).+Последняя инструкция дана для исключения предупреждений о невозможности получить ip по hostname ​сервисов sudo и proxy Squid (выполнить ее можно на 2-м шаге, скопировав после подключения к VM по SSH).
  
  
 ===== Шаг 2. Разворачиваем сервис Squid ===== ===== Шаг 2. Разворачиваем сервис Squid =====
  
-Для удобства копирования команд из статьи,​ подключитесь к VM используя ​ssh клиент. Если у Вас Windows на домашнем компьютере,​ можно использовать PuTTY:+Для удобства копирования команд из статьи,​ подключитесь к VM используя ​SSH клиент. Если у Вас Windows на домашнем компьютере,​ можно использовать PuTTY:
  
 https://​www.chiark.greenend.org.uk/​~sgtatham/​putty/​latest.html https://​www.chiark.greenend.org.uk/​~sgtatham/​putty/​latest.html
  
  
-Установите Squid, отредактируйте файлы конфигурации (для нашего примера будет удобно использовать вариант,​ при котором proxy будет "​пускать"​ только на определенные сайты, что позволит легко протестировать работу сервиса), ​проверьте отсутствие синтаксических ошибок и перезапустите сервис,​ выполнив команды:​+Установите Squid, отредактируйте файлы конфигурации (для нашего примера будет удобно использовать вариант,​ при котором proxy будет "​пускать"​ только на определенные сайты, что позволит легко протестировать работу сервиса), ​убедитесь в отсутствии синтаксических ошибок и перезапустите сервис,​ выполнив команды:​
  
 <​code>​ <​code>​
Line 155: Line 155:
 </​code>​ </​code>​
  
-"​Щелкнув"​ по названию проекта убедитесь,​ что все файлы из каталога /etc/squid появились в GitLab. Для изменения файлов конфигурации теперь можно не подключаться через ​ssh к VM с сервисом Squid, а отредактировать прямо здесь через "Web IDE". Остается вопрос,​ как эти изменения попадут в VM с сервисом Squid?+"​Щелкнув"​ по названию проекта убедитесь,​ что все файлы из каталога /etc/squid появились в GitLab. Для изменения файлов конфигурации теперь можно не подключаться через ​SSH к VM с сервисом Squid, а отредактировать ​их прямо здесь через "Web IDE". Остается вопрос,​ как эти изменения попадут в VM с сервисом Squid?
  
 ===== Шаг 5. GitLab Runner ===== ===== Шаг 5. GitLab Runner =====
Line 177: Line 177:
 </​code>​ </​code>​
  
-Разрешим пользователю gitlab-runner выполнять команды с повышенными привилегиями,​ необходимые для тестирования,​ копирования и применения новой конфигурации proxy.+Разрешим пользователю gitlab-runner выполнять команды с повышенными привилегиями,​ необходимые для тестирования,​ копирования и применения новой конфигурации proxy:
 <​code>​ <​code>​
 debian:~# nano /​etc/​sudoers.d/​squid-sudo debian:~# nano /​etc/​sudoers.d/​squid-sudo
Line 184: Line 184:
 </​code>​ </​code>​
  
-Проверим,​ все ли работает. Для этого добавьте домен какого нибудь сайта в файл permit_domains.txt используя “Web IDE” в GitLab и выполните Commit изменений в ветку main. Далее, с правами пользователя gitlab-runner,​ склонируйте проект,​ зайдите в его каталог и выполните команды тестирования,​ копирования и применения новой конфигурации:​+Проверим,​ все ли работает. Для этого добавьте домен какого-нибудь сайта в файл permit_domains.txt используя “Web IDE” в GitLab и выполните Commit изменений в ветку main. Далее, с правами пользователя gitlab-runner,​ склонируйте проект,​ зайдите в его каталог и выполните команды тестирования,​ копирования и применения новой конфигурации:​
  
 <​code>​ <​code>​
Line 280: Line 280:
 </​code>​ </​code>​
  
-и нажмите на кнопку "​Commit Changes"​+и нажмите на кнопку "​Commit Changes"​.
  
-Добавьте домен еще какого нибудь сайта в файл permit_domains.txt используя “Web IDE” в GitLab и выполните Commit изменений в ветку main+Добавьте домен еще какого-нибудь сайта в файл permit_domains.txt используя “Web IDE” в GitLab и выполните Commit изменений в ветку main.
  
-Убедитесь,​ что в разделе CI/​CD->​Pipelines провекта значение Status установилось в passed ​и убедитесьчто ​в браузере открывается новый сайт. Если так, поздравляю,​ Вы только что написали свой первый CI/CD Pipeline!+Убедитесь,​ что в разделе CI/​CD->​Pipelines проекта значение Status установилось в passed, в браузере открывается новый сайт, а добавленный домен присутствует в файле:  
 + 
 +<​code>​ 
 +debian:~# cat /​etc/​squid/​permit_domains.txt 
 +</​code>​ 
 + 
 +Если так, поздравляю,​ Вы только что написали свой первый CI/CD Pipeline!
 ===== Итоги ===== ===== Итоги =====
  
самый_простой_пример_ci_cd.txt · Last modified: 2023/02/13 08:46 by val