В последнем посту создание Дженкинс на AWS Jenkins был установлен и размещен на AWS. Это было доступно на общедоступном общественном адресе.
Теперь давайте приступим к подключению ваших Jenkins к нашим VCS (прочитайте GitHub в нашем случае).
При внедрении проекта есть много компонентов, которые разрабатываются параллельно. Эти маленькие компоненты (должны быть) слабо сочетаются для лучшей масштабируемости.
Давайте понять это через пример; Предположим, команда работает над порталом электронной коммерции. После обсуждения высокоуровневого дизайна и технического стока базовый портал будет иметь услуги а именно; UI, Backend, база данных и платежная система.
Реализация начнется и после значительного прогресса, услуги должны быть интегрированы друг с другом. Код должен быть собран, скомпилирован и создан для проверки правильной интеграции. Теперь представьте себе это без каких-либо инструментов каждый день. Кто-то должен сесть, собрать код в одном месте, компилируйте его и проверить работу. И если возникает какая-либо ошибка, человек должен отслеживать внедрение и координировать заинтересованные ошибки. Это замедлит процесс и добавит накладные расходы на функционирование команды.
Система управления версией с непрерывным интеграционным трубопроводом будет автоматизировать и закрепить процесс.
Дженкинс со многими его плагином вытащит код, создает и тестируйте его. Если возникает какая-либо ошибка, заинтересованная разработчик или команда будет уведомлена с выходами журнала.
Подключиться с Github
Чтобы автоматизировать процесс непрерывной интеграции, код должен быть скомпилирован и основан на каждом новом изменении, нажатой в репозиторий VCS. Изменение должно быть уведомлено до сервера CI (читайте jenkins здесь) через некоторый механизм. Здесь WebHooks приходят удобно, поскольку они позволяют уведомлять внешние услуги, когда случается определенные изменения.
- Самый мощный и надежный аспект Jenkins — это доступны плагины. Перейдите в Консоль Дженкинса и перейдите к управлению разделом Jenkins. Выберите «Управление плагинами» и убедитесь, что Jenkins установлен плагин GIT или иным образом установить его.
- Перейдите в соответствующий проект GitHub и перейдите к настройкам. В вариантах вы найдете раздел WebHooks. Выберите Добавить окно и введите http://
/github-webhook/>.
Как только вы сохраняете веб -ook, Github сделает пустой почтовый звонок в jenkins webhook. Убедитесь, что звонок успешен jenkins. Это может быть проверено из значка состояния на право добавленного веб -ookook.
Шаги трубопровода
В последнем разделе репозиторий GitHub был подключен к Jenkins Server. Каждый раз, когда есть новое обновление (наш случай только нажимает события), он будет уведомлен для веб-капуста Jenkins Github.
- Создайте новый проект Freestyle и назовите его построить (ваш выбор).
- Всегда лучше дать значимое описание, поэтому могут понять другие члены команды.
- Под управлением исходного кода выберите Git и введите репозиторий GitHUB. Предоставить учетные данные, если его личный репозиторий (всегда лучше).
- В сборке триггеров выберите Github Hook Triger для опроса GitsCM. Он будет вызвать сборку для этого проекта Jenkins Anytime, Jenkins WebHook получит любое push-мероприятие из github.
- В разделе «Раздел сборки» выберите «Выполнить оболочку» и введите команды для создания вашего проекта. Ибо сейчас просто поставить что-то,
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. Есть две обходные пути для этого
- Изменить тип доступа к файлу (не рекомендуется, хотя): Изменить доступ к файлу
chmod 777 /var/run/docker.sock
- Использование групп:
После этого настройте свой этап сборки файлов Jenkins. В выполнении команд Shell;
docker build desiredname -t . docker push dockerhubname/desiredname
Окончательный пробег
Все установлено и пришло время сделать тестовый прогон. Опубликовать коммит на Github Repo и трубопровод начнет работать. В конце желаемый результат может быть пересечен на выходе консоли.
Оригинал: «https://dev.to/alakazam03/automating-continuous-integration-through-jenkins-448b»