Если в Jenkins Pipeline используется переменная, которая создается на основе Webhook'а или т.п., то при ручном запуске задача завершится ошибкой. Чтобы это избежать, можно добавить проверку существования переменной и задать ей значение. В данном примере проверяется наличие переменной "GIT_COMMIT_ID", и при ее отсутствии выполняется скрипт, который задает данную переменную со значением последнего HASH …
Продолжить читать "Jenkins — Проверка существования переменной"
Меняем в Fastlane тип сборки андроид приложения с "apk" на "bundle" и заливает в Google Play Пример блока для "apk" Приводим его к следующему виду:
Пример сборки статического сайта на node.js, деплой артефактов в S3 Bucket и инвалидация кеша в CloudFront'е. Переменные: AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY указаны в переменных CircleCI, в целях безопасности. IAM Policy для инвалидации кеша можно посмотреть тут.
Для того, чтобы Jenkins мог работать с репозиторием с аккаунта, на котором включена 2-х факторная авторизация, нужно сгенерировать "Personal access tokens" Логинимся в GitHub и переходим по ссылке. Выбираем "Generate new token" и ставим следующие галочки: repo:invate — необходима для доступа к приватным репозиториям, без нее у вас будет доступ только …
Продолжить читать "Jenkins — GitHub аккаунт с 2FA"
При заливке в TestFlight Fastlane выдает следующее: [Transporter Error Output]: ERROR ITMS-90717: "Invalid App Store Icon. The App Store Icon in the asset catalog in 'your_app.app' can't be transparent nor contain an alpha channel." Transporter transfer failed. ERROR ITMS-90717: "Invalid App Store Icon. The App Store Icon in the asset catalog in 'your_app.app' can't be …
Продолжить читать "Fastlane — TestFlight: Invalid App Store Icon"
Пример деплоя в Docker Swarm с Jenkins'а используя stack deploy. Jenkinsfile:
Создадим "Credentials" с типом "Secret text". Заполним ID и добавим секрет, описание опционально. В Jenkinsfile добавим следующее: После этого можно использовать переменную "MY_PASSWORD", не боясь того, что он будет показан открытым текстом.
Чтобы автоматизировать сборку iOS приложения через Fastlane и не вводить постоянно код из СМС, нужно получить куки и использовать их. Для начала нужно выполнить логин через браузер. Получаем код из СМС и запоминаем его. Логинимся на MacOS сборщике: Вводим пароль и код из СМС. После чего в директории: admin — имя моего пользователя …
Продолжить читать "Fastlane — Two-Factor Authentication Apple Developer"
Пример MultibranchPipeline сборки и деплоя NodeJS при помощи Jenkins'а, упаковывание собранного в контейнер с Nginx'ом и обновлением образа в Kubernetes. В качестве хранилища образов используется AWS ECR, уведомления о сборке отправляются в SLACK канал. Jenkinsfile:
Плагин Badge для Fastlane позволяет добавлять на иконки номера версий, тип релиза и т.д. На MacOS сборщике установим зависимости: Добавим строку в Gemfile проекта: В Fastfile добавим блок относящийся к badge и будем добавлять номер версию через переменную.