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
самый_простой_пример_ci_cd [2023/02/12 20:08]
val [Шаг 6. GitLab CI/CD]
самый_простой_пример_ci_cd [2023/02/13 08:46] (current)
val
Line 1: Line 1:
 ====== Самый простой пример CI/CD ====== ====== Самый простой пример CI/CD ======
 +
 +  * [[https://​habr.com/​ru/​post/​716454/​]]
  
 Однажды подслушано:​ Однажды подслушано:​
Line 33: Line 35:
 В настройках системы назначьте не менее 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 55:
 </​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 157:
 </​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 179:
 </​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 186:
 </​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 282: Line 284:
 и нажмите на кнопку "​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, в браузере открывается новый сайт, а добавленный домен присутствует в файле:  
 + 
 +<​code>​ 
 +debian:~# cat /​etc/​squid/​permit_domains.txt 
 +</​code>​
  
-Убедитесь,​ что в разделе CI/​CD->​Pipelines проекта значение Status установилось в passed и убедитесь,​ что в браузере открывается новый сайт. ​Если так, поздравляю,​ Вы только что написали свой первый CI/CD Pipeline!+Если так, поздравляю,​ Вы только что написали свой первый CI/CD Pipeline!
 ===== Итоги ===== ===== Итоги =====
  
самый_простой_пример_ci_cd.1676221706.txt.gz · Last modified: 2023/02/12 20:08 by val