Вопрос: Что такое Jenkins?

Jenkins – это инструмент непрерывной интеграции с открытым исходным кодом, написанный на Java. Он предоставляет настраиваемые сервисы интеграции для разработки программного обеспечения. Эта серверная система используется многими группами разработчиков.

Вопрос: Что дает использование Jenkins?

Когда требуется ускорить жизненный цикл разработки программного обеспечения (SDLC), рекомендуем использовать Jenkins. Jenkins позволяет интегрировать сборку, развертывание и тестирование в различных средах, при этом время простоя в группах разработчиков сокращается. Кроме того, Jenkins обеспечивает непрерывную интеграцию, поэтому хорошо подходит для технологий DevOps и методологий agile, использующих быстрые итерационные циклы.

Вопрос: Каковы преимущества запуска Jenkins на AWS?

AWS предоставляет надежные, масштабируемые и безопасные ресурсы инфраструктуры, идеально подходящие для работы таких приложений, как Jenkins. Запуская Jenkins на AWS, вы платите только за то, что используете, и можете масштабировать ресурсы как в сторону увеличения, так и в сторону уменьшения в зависимости от конкретных потребностей.

Вопрос: Буду ли я владельцем среды Jenkins?

Да, все ресурсы, созданные при выполнении этого руководства по началу работы, будут относиться к вашему аккаунту и принадлежать вам. Они будут существовать до тех пор, пока вы не остановите инстанс Amazon EC2.

Вопрос: Какова стоимость Jenkins?

Jenkins – это бесплатное ПО с открытым кодом. Вы платите только за базовую инфраструктуру, на которой работает Jenkins. Дополнительные сведения о ценах см. в разделе Используемые сервисы и цены.

Вопрос: Как обеспечить безопасность Jenkins на AWS?

Рекомендуем использовать группы безопасности и надежные пароли. Рекомендуем проверить, что на инстансах EC2 и при инсталляции Jenkins установлены последние обновления безопасности. Группы безопасности действуют как виртуальные брандмауэры с фиксацией состояния, управляющие трафиком одного или нескольких инстансов. По возможности ограничивайте диапазон IP‑адресов только используемыми IP‑адресами источников. Не открывайте никаких дополнительных портов TCP или UDP (достаточно портов TCP 80 и 8080). При установке паролей для Jenkins следуйте обычным рекомендациям и используйте символы (такие как /, ., !, *…), а также цифры и буквы в нижнем и верхнем регистре. Чтобы убедиться, что на инстансе Amazon Linux установлено последнее обновление, выполните команду yum update. Если установка Jenkins также выполнялась с помощью команды yum, при этом произойдет обновление Jenkins в соответствии с этим руководством.

Вопрос: Можно ли запускать Jenkins в частной подсети?

Jenkins можно устанавливать на инстансе EC2, являющемся частью публичной или частной подсети. Если необходимо разместить инстанс в частной подсети, следует проверить, что вы сохраняете доступ к пользовательскому интерфейсу Jenkins. При подключении через Интернет можно создать целевую группу Jenkins и использовать Application Load Balancer в целях создания публичного адреса для размещенного в частной подсети инстанса. При обращении из собственного ЦОД потребуется установить подключение VPN или подключиться к Jenkins через Direct Connect.

Вопрос: Как можно масштабировать Jenkins?

Есть несколько способов сделать так, чтобы Jenkins отвечал потребностям системы непрерывной интеграции и непрерывной доставки (CI/CD). Самый простой способ – это вертикально масштабировать инстанс EC2 путем изменения его размера. Другой способ – это таким образом сконфигурировать подключаемый модуль для работы Jenkins с Amazon EC2 Container Service, чтобы передать задачи по сборке подчиненным задачам Jenkins в кластере ECS.