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 19:44]
val [Шаг 2. Разворачиваем сервис Squid]
самый_простой_пример_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 87: Line 87:
 </​code>​ </​code>​
  
-Для тестирования сервиса настройте браузер на хост системе,​ например Firefox ​+Для тестирования сервиса настройте браузер на хост системе,​ напримерFirefox ​
  
 https://​www.mozilla.org/​ru/​firefox/​new/​ https://​www.mozilla.org/​ru/​firefox/​new/​
Line 99: Line 99:
 ===== Шаг 3. Устанавливаем GitLab =====  ===== Шаг 3. Устанавливаем GitLab ===== 
  
-Установите GitLab используя официальное руководство+Установите GitLabиспользуя официальное руководство
  
 https://​about.gitlab.com/​install/#​debian https://​about.gitlab.com/​install/#​debian
Line 113: Line 113:
 </​code>​ </​code>​
  
-Подключаемся к GitLab в браузере с хост машины по указанному при инсталляции EXTERNAL_URL учетной запись root и паролем,​ который нужно скопировать из этого ​файла:+Подключаемся к GitLab в браузере с хост машиныпо указанному при инсталляции EXTERNAL_URLучетной записью root и паролем,​ который нужно скопировать из файла:
  
 <​code>​ <​code>​
Line 127: Line 127:
 </​code>​ </​code>​
  
-Для упрощения примера не будем настраивать электронную почту в VM, поэтому,​ сразу после создания ("​Create User") учетной записи,​ перейдите в ее редактирования ("​Edit"​),​ придумайте,​ запомните и дважды укажите пароль (потребуют хороший пароль:​) после чего, сохраните изменения ("Save сhanges"​)+Для упрощения примеране будем настраивать электронную почту в VM, поэтому,​ сразу после создания ("​Create User") учетной записи,​ перейдите в ее редактирования ("​Edit"​),​ придумайте,​ запомните и дважды укажите пароль (потребуют хороший пароль:​) после чего, сохраните изменения ("Save сhanges"​)
  
 Подключитесь новой учётной записью (на предложение указать новый пароль можно ввести предыдущий) Подключитесь новой учётной записью (на предложение указать новый пароль можно ввести предыдущий)
Line 135: Line 135:
 Создаем новый проект "​Create a project"​->"​Create blank project"​ Создаем новый проект "​Create a project"​->"​Create blank project"​
  
-Указываем Project name: squid project и убираем "​галочку"​ "​Initialize repository with a README",​ поскольку будем загружать репозиторий,​ который создадим на следующем шаге+Указываем Project name: squid project и убираем "​галочку"​ "​Initialize repository with a README",​ поскольку будем загружать репозиторий,​ который создадим на следующем шаге.
  
 Выполняем инструкции из подсказки в разделе "Push an existing folder",​ задав в начале git параметр user.email Выполняем инструкции из подсказки в разделе "Push an existing folder",​ задав в начале git параметр user.email
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 =====
  
-Установите GitLab Runner используя официальное руководство:​+Установите GitLab Runnerиспользуя официальное руководство:​
  
 https://​docs.gitlab.com/​runner/​install/​linux-manually.html https://​docs.gitlab.com/​runner/​install/​linux-manually.html
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