Рубрики
Uncategorized

Автоматизация непрерывной интеграции через Jenkins

В последнем посту создание Дженкинс на AWS Jenkins был установлен и размещен на AWS. Это было Accessib … Теги с DevOps, Opensource, Github.

В последнем посту создание Дженкинс на AWS Jenkins был установлен и размещен на AWS. Это было доступно на общедоступном общественном адресе.

Теперь давайте приступим к подключению ваших Jenkins к нашим VCS (прочитайте GitHub в нашем случае).

При внедрении проекта есть много компонентов, которые разрабатываются параллельно. Эти маленькие компоненты (должны быть) слабо сочетаются для лучшей масштабируемости.

Давайте понять это через пример; Предположим, команда работает над порталом электронной коммерции. После обсуждения высокоуровневого дизайна и технического стока базовый портал будет иметь услуги а именно; UI, Backend, база данных и платежная система.

Реализация начнется и после значительного прогресса, услуги должны быть интегрированы друг с другом. Код должен быть собран, скомпилирован и создан для проверки правильной интеграции. Теперь представьте себе это без каких-либо инструментов каждый день. Кто-то должен сесть, собрать код в одном месте, компилируйте его и проверить работу. И если возникает какая-либо ошибка, человек должен отслеживать внедрение и координировать заинтересованные ошибки. Это замедлит процесс и добавит накладные расходы на функционирование команды.

Система управления версией с непрерывным интеграционным трубопроводом будет автоматизировать и закрепить процесс.

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

Подключиться с Github

Чтобы автоматизировать процесс непрерывной интеграции, код должен быть скомпилирован и основан на каждом новом изменении, нажатой в репозиторий VCS. Изменение должно быть уведомлено до сервера CI (читайте jenkins здесь) через некоторый механизм. Здесь WebHooks приходят удобно, поскольку они позволяют уведомлять внешние услуги, когда случается определенные изменения.

  1. Самый мощный и надежный аспект Jenkins — это доступны плагины. Перейдите в Консоль Дженкинса и перейдите к управлению разделом Jenkins. Выберите «Управление плагинами» и убедитесь, что Jenkins установлен плагин GIT или иным образом установить его.
  1. Перейдите в соответствующий проект GitHub и перейдите к настройкам. В вариантах вы найдете раздел WebHooks. Выберите Добавить окно и введите http:// /github-webhook/>.

Как только вы сохраняете веб -ook, Github сделает пустой почтовый звонок в jenkins webhook. Убедитесь, что звонок успешен jenkins. Это может быть проверено из значка состояния на право добавленного веб -ookook.

Шаги трубопровода

В последнем разделе репозиторий GitHub был подключен к Jenkins Server. Каждый раз, когда есть новое обновление (наш случай только нажимает события), он будет уведомлен для веб-капуста Jenkins Github.

  1. Создайте новый проект Freestyle и назовите его построить (ваш выбор).
  2. Всегда лучше дать значимое описание, поэтому могут понять другие члены команды.
  3. Под управлением исходного кода выберите Git и введите репозиторий GitHUB. Предоставить учетные данные, если его личный репозиторий (всегда лучше).
  4. В сборке триггеров выберите Github Hook Triger для опроса GitsCM. Он будет вызвать сборку для этого проекта Jenkins Anytime, Jenkins WebHook получит любое push-мероприятие из github.
  5. В разделе «Раздел сборки» выберите «Выполнить оболочку» и введите команды для создания вашего проекта. Ибо сейчас просто поставить что-то,
 echo "building"

Это завершает нашу стадию сборки трубопровода. Сохранить и выйти из конфигурации.

Наконец, все настроено и готовы к тестированию. Давайте проверим наш первый этап трубопровода, создавая коммит в соответствующем репо GitHub.

Как только будет опубликован коммит, Git будет опубликовать Push-событие на jenkins webhook. Это заставит проект сборки, который был создан выше.

Проверьте выходные данные консоли и подтвердите нашу заявление «Строительство» STDOUT на экране.

Обратите внимание, что ничто не было указано на этапе постепенного состава проекта по сборке Jenkins Build. Вышеуказанный этап сборки был завершен и на успехе трубопровод должен перейти к этапу тестирования.

Установить Docker

sudo amazon-linux-extras install docker
sudo service docker start
sudo usermod -a -G docker ec2-user

Если ваши Jenkins получают ошибку «Наберите Unix/var/run/docker.sock: connect: разрешение запрещено». Это связано с разрешениями, поскольку Jenkins не имеет доступа к Docker.Sock. Есть две обходные пути для этого

  1. Изменить тип доступа к файлу (не рекомендуется, хотя): Изменить доступ к файлу
   chmod 777 /var/run/docker.sock
  1. Использование групп:

После этого настройте свой этап сборки файлов Jenkins. В выполнении команд Shell;

docker build desiredname -t .
docker push dockerhubname/desiredname

Окончательный пробег

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

Оригинал: «https://dev.to/alakazam03/automating-continuous-integration-through-jenkins-448b»