Jenkins — NodeJS + Nginx

Пример MultibranchPipeline сборки и деплоя NodeJS при помощи Jenkins‘а, упаковывание собранного в контейнер с Nginx‘ом и обновлением образа в Kubernetes. В качестве хранилища образов используется AWS ECR, уведомления о сборке отправляются в SLACK канал. Jenkinsfile:

Fastlane — Badge for iOS

Плагин Badge для Fastlane  позволяет добавлять на иконки номера версий, тип релиза и т.д. На MacOS сборщике установим зависимости: Добавим строку в Gemfile проекта: В Fastfile добавим блок относящийся к  badge и будем добавлять номер версию через переменную.  

Jenkins — DSL Pipeline создание Seed Job’ом

В репозитории, где будут храниться будущие groovy файлы создадим директорию с именем «utilities» и в нем создадим файл «GithubPipeline.groovy» со следующим содержимым: Теперь для создания Item‘а достаточно создать в корне репозитория файл с расширением groovy, для того, чтобы на Seed Job его обработал.

Jenkins — Пример DSL Pipeline

Пример Pipeline файла конфигурации для DSL модуля. Это параметризованная сборка.  Jenkinsfile расположен в корне репозитория.

Jenkins — DSL Multibranch Pipeline создание Seed Job’ом

В репозитории, где будут храниться будущие groovy файлы создадим директорию с именем «utilities» и в нем создадим файл «BitbucketMultibranch.groovy» со следующим содержимым: Теперь для создания Item‘а достаточно создать в корне репозитория файл с расширением groovy, для того, чтобы на Seed Job его обработал.

Jenkins — Пример DSL Multibranch Pipeline

Пример Multibranch Pipeline файла конфигурации для DSL модуля, с кастомным Bitbucket сервером. Который будет включать в себя ветки: «develop«, «staging» и «master«. Будет хранить последние 15 сборок. И искать Jenkins файл по пути: «.jenkins/Jenkinsfile» Имя репозитория: artem-dsl Владелец (имя проекта): dev Креды доступа Jenkins’а к Bitbucket: svn-bibucket

Jenkins — Принудительно задать номер сборки

Для того, чтобы принудительно задать номер сборки, нужно перейти в домашнюю директорию пользователя «jenkins» -> «jobs» -> «Имя_проекта» -> «Имя_ветки» и открыть файл «nextBuildNumber«. И в нем указать номер следующей сборки. После этого, нужно чтобы Jenkins перечитал данные с диска, для этого переходим в настройки и находим пункт «Перезагрузка конфигурации с диска»

Jenkins — Fastlane build iOS and Android apps

При помощи Jenkins и Fastlane будем собирать приложения на iOS и Android, будем отправлять артефакты в Slack, и так же автоматически приложение для iOS отправлять в Testflight. Сборка настроена с веток develop и release,  и считывает с них версию релиза (major и minor), и добавляет номер сборки. К примеру: ветка — release/1.0 и номер Jenkins … Продолжить читать "Jenkins — Fastlane build iOS and Android apps"

Docker — Android SDK for Jenkins

За основу берем Ubuntu 18.04, устанавливаем Android SDK, так же устанавливаем ruby, nodejs и yarn. И пробрасываем пользователя Jenkins в контейнер, для выполнения привилегированных команд. Dockerfile: