Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Поначалу это кажется нормальным, но затем возникают проблемы, которых можно избежать, установив Docker в контейнер Jenkins CI. В этой статье рассказывается, как это сделать. Если вас интересует итоговое решение без подробностей, просто прочитайте последний раздел статьи «Решение проблемы».
Рубрика «Jenkins CI»
Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды
2020-02-16 в 6:06, admin, рубрики: docker, Jenkins CI, Блог компании ua-hosting.company, отладка, Программирование, Системы управления версиямиПомощь девопсам по внедрению PKI
2019-11-17 в 14:25, admin, рубрики: Ansible, ci/cd, devops, globalsign, hashicorp vault, Jenkins CI, kubernetes, openshift, PKI, saltstack, terraform, Venafi, X.509, Блог компании GlobalSign, информационная безопасность, облачные сервисы, Серверное администрированиеУ девопсов и так много работы, а от них ещё требуют экспертных знаний по криптографии и инфраструктуре открытых ключей (PKI). Это неправильно.
Действительно, у каждой машины должен быть валидный TLS-сертификат. Они нужны для серверов, контейнеров, виртуальных машин, в сетках service mesh. Но количество ключей и сертификатов растёт как снежный ком, а управление быстро становится хаотичным, дорогостоящим и рискованным, если всё делать самостоятельно. При отсутствии надлежащей практики применения политик и мониторинга бизнес может пострадать из-за слабых сертификатов или неожиданного истечения срока действия.
GlobalSign и Venafi организовали два вебкаста в помощь девопсам. Первый — вводный, а второй — с более конкретными техническими советами по подключению системы PKI от GlobalSign через облако Venafi с помощью опенсорсных инструментов через HashiCorp Vault из конвейера Jenkins CI/CD.
Читать полностью »
Настройка Warnings Next Generation плагина для интеграции PVS-Studio
2019-09-11 в 7:21, admin, рубрики: ci, devops, Jenkins, Jenkins CI, open source, plugin, plugins, pvs-studio, pvs-studio free, PVS-Studo, pvsstudio, static code analysis, warnings, Блог компании PVS-Studio, Тестирование IT-систем, управление разработкой
Релиз PVS-Studio 7.04 совпал c релизом плагина Warnings Next Generation 6.0.0 для Jenkins. Как раз в этом релизе Warnings NG Plugin добавил поддержку статического анализатора PVS-Studio. Этот плагин визуализирует данные о предупреждениях компилятора или других инструментов анализа в Jenkins. В этой статье будет подробно рассказано как установить и настроить данный плагин для использования с PVS-Studio, а также описано большинство его возможностей.
Читать полностью »
Отучаемся от токсичных практик на код-ревью
2019-05-29 в 9:23, admin, рубрики: Jenkins CI, teamcity, критика, общение, Программирование, тестирование, управление разработкой
Код-ревью частенько порождают споры. При подготовке лекции «Отучаемся от токсичного поведения на код-ревью» на конференции AlterConf я была готова услышать кучу возражений и критики. Но совершенно не ожидала, что сообщество настолько поддержит идею. Я предполагала сопротивление, но сообщество очень доброжелательно и с одобрением приняло меня.
Меня попросили поделиться слайдами, но теперь я подумала, что слайды сами по себе малополезны и вырваны из контекста: им не хватает объяснений. Поэтому решила опубликовать эту статью. Позже организаторы конференции выложили видеозапись.
Читать полностью »
Jenkins Pipeline Shared Libraries
2017-09-21 в 13:03, admin, рубрики: continuous deployment, deployment tools, devops, Jenkins CI, pipelines, развертываниеВсем привет. В данной статье хочу поделиться знаниями, полученными в процессе автоматизации развертывания наших сервисов на различные серверы в разных дата-центрах.
Задача была следующей: есть определенный набор скриптов для развертывания сервисов, которые нужно запускать на каждом сервере каждого дата-центра. Скрипты выполняют серию операций: проверка статуса, вывод из-под load balancer’а, выпуск версии, развертывание, проверка статуса, отправка уведомлений через email и Slack и т.д. Это просто и удобно, но с ростом числа дата-центров и сервисов процесс выкатки новой версии может занять целый день. Кроме того, за некоторые действия отвечают отдельные команды, например, настройка load balancer’а. Также хотелось, чтобы управляющий процессом код хранился в общедоступном репозитории, дабы каждый член команды мог его поддерживать.
Решить задачу удалось с помощью Jenkins Pipeline Shared Libraries: этапы процесса разделились визуально на логические части, код хранится в репозитории, а осуществить доставку на 20 серверов стало возможно в один клик. Ниже приведен пример подобного тестового проекта:
Сейчас я расскажу и покажу примеры как этого достичь. Надеюсь эта статья поможет сохранить время другим разработчикам, а также буду рад дельным комментариям.
Читать полностью »
Феншуйная автоматизация CI & CD с помощью Jenkins и Jira
2017-05-18 в 9:05, admin, рубрики: bitbucket, continuous delivery, continuous integration, gradle, Jenkins CI, jira, release cycle, Блог компании Яндекс.Деньги, Разработка под e-commerce, системы сборкиМы давно ничего не рассказывали об автоматизации разработки. Поэтому в этот раз расскажу о том, как мы сократили время релиза с трех дней до одного и убрали из процесса участие человека с его возможными ошибками.
Рассказывать о долгом и тернистом пути всегда непросто. Однако за последние годы инфраструктура разработки Яндекс.Денег сделала большой шаг в сторону автоматизации самого важного для нас процесса — релиза, о чем просто грех не рассказать. Фактически получилось полноценное решение Continuous Integration и Continuous Delivery на базе связки Bitbucket, Jenkins и Jira.Читать полностью »
Переход с CruiseControl.NET на Jenkins в команде разработчиков PVS-Studio
2017-02-07 в 13:28, admin, рубрики: continuous integration, cruisecontrol, Jenkins, Jenkins CI, pvs-studio, Блог компании PVS-Studio, системы сборки, Тестирование IT-систем
Сейчас трудно представить разработку программного обеспечения без автоматизированных сборок проекта и тестирования. Для минимизации временных затрат на интеграцию изменений разработчиков в проект, существуют разные готовые решения. В данной статье я расскажу о замене сервера непрерывной интеграции CruiseControl.NET на Jenkins в команде разработчиков PVS-Studio. А также о том, что нас к этому побудило, какие цели мы преследовали и с какими проблемами столкнулись.
Читать полностью »
Jenkins для Android на чистой системе и без UI
2016-11-22 в 8:32, admin, рубрики: android, continuous integration, Jenkins CI, Разработка под android, системы сборкиНа Хабре уже есть похожие статьи на тему сборки Android приложения с помощью Jenkins. Ключевыми особенностями/дополнениями текущей будет следующее:
- Мы установим Jenkins на удалённую Linux машину, где отсутствует UI.
- Мы будем собирать приложение из приватного репозитория.
- Мы решим проблему сборки приложения из ветки имя которой нам не известно.
- После сборки .apk файлов мы отправим их в Fabric и оповестим тестировщиков.
- После отправления в Fabric мы опубликуем приложение на Google Play.
- Защитим задачи по публикации приложения от запуска тестировщиками.
Получаем управление обратно в Jenkins Pipeline
2016-09-07 в 13:20, admin, рубрики: continuous delivery, Jenkins, Jenkins CI, open source, ПрограммированиеJenkins Pipeline Plugin очень удобная штука, чтобы организовать у себя непрерывную доставку ПО (Continuous Delivery). Плагин даёт возможность разбить доставку ПО до конечного потребителя на стадии (stage), каждой из которых можно управлять (на каком узле, что и как нужно сделать) и, в конечном счёте, визуализировать процесс доставки. Вкупе с Blueocean plugin всё это выглядит очень вкусно. В реальной же жизни подчас оказывается так, что кроме Jenkins-а есть ещё и другие системы, которые участвуют в этом процессе (workflow), и встаёт вопрос — как их интегрировать с имеющимися решениями. Примером тут может служить Jira, в которой есть некий issue падающий на тестировщика, прокликивающего интерфейс (ну или совершающего другую полезную работу), и только после его благословения, наш артефакт имеет право двигаться дальше в сторону ожидающего его клиента.
Так какие у нас есть варианты реализации?
Как за день поднять CI для iOS-разработчиков. Часть 2
2016-06-09 в 10:03, admin, рубрики: ci, iOS, Jenkins, Jenkins CI, Блог компании Лайв Тайпинг, ит-инфраструктура, разработка под iOSВсем привет. Это продолжение статьи о том, как iOS-отдел компании Лайв Тайпинг внедрил методологию CI и развернул сервер для автоматизации сборок на Jenkins. Как мы и обещали, вторая часть посвящена тому, как получить основные метрики кода, заархивировать проект в .ipa и настроить взаимодействие со Slack.
Читать полностью »