В этой статье мы делимся опытом сборки и доставки пользователям приложений для iOS, который накопился у студии Plarium Krasnodar в процессе отладки CI/CD.
Рубрика «ci/cd» - 4
Особенности сборки и доставки iOS-приложений
2020-03-02 в 13:04, admin, рубрики: ci/cd, devops, ios development, iOS разработка, xcode, Блог компании Plarium, доставка приложений, инструкция, разработка мобильных приложений, разработка под iOS, сборка приложенийАвтоматизированная сборка Delphi-приложения
2020-02-25 в 22:27, admin, рубрики: automation, ci/cd, Delphi, msbuild, Программирование, системное программированиеАвтоматизированная сборка Delphi-приложения
Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-коленке", хотя продукты бывают весьма серьёзными и продаваемыми. Вероятно, это пошло ещё с тех пор, когда для автоматизации нужно было придумывать свои батнички, которые запускали компилятор командной строки dcc32
с нужными параметрами. Некоторые даже сделали свой "Публикатор" — Delphi-expert, который делает работу сервера сборок: компилирует (правда, открытый в IDE) проект, выставляя ему взятый из какой-то БД инкрементированный номер версии, записывает некий changelog и копирует это куда-то в сетевой каталог.
Я не буду вдаваться в исторический экскурс как было раньше. Я расскажу как есть/можно сейчас, и как это использовать для повышения эффективности своей работы.
Файл проекта современной версии Delphi — это .dproj
-файл (здесь и далее я буду ориентироваться на Delphi 10 Rio, но с небольшими отличиями это верно для всех более ранних версий Delphi, начиная с 2007). В нём хранятся все настройки проекта, которые обычно изменяют в IDE (меню Project - Options (Ctrl+Shift+F11)
). В рамках данной статьи я сконцентрируюсь на "основных", которые понадобятся для демонстрации общих принципов: это Config
— конфигурация, Platform
— платформа, OutputDirectory
— путь выходного файла и ConditionalDefines
(директивы условной компиляции). Остальные настройки, если таковые нужно менять при сборке, я предлагаю выявить самостоятельно. Этот же .dproj
-файл, если в него заглянуть обычным текстовым редактором, является ничем иным как скриптом сборки MSBuild (давайте создадим простое консольное приложение и назовём его DelphiAutomatedBuild):
Семь самых распространенных ошибок при переходе на CI-CD
2020-02-25 в 11:17, admin, рубрики: ci/cd, devops, Блог компании Mail.Ru Group, управление разработкойЕсли ваша компания только внедряет DevOps или инструменты CI/CD, вам может быть полезно познакомиться с самыми распространенными ошибками, чтобы не повторить их и не наступать на чужие грабли.
Команда Mail.ru Cloud Solutions перевела статью Avoid These Common Pitfalls When Transitioning to CI/CD by Jasmine Chokshi с дополнениями.
Читать полностью »
4 марта, Екатеринбург — Java MeetUP
2020-02-18 в 9:29, admin, рубрики: ci/cd, java, kubernetes, Spring MVC, spring webflux, конференции, митапы, тимлидПривет!
4 марта (это будет среда) мы проведем наш очередной митап для любителей Java в Екатеринбурге. Как обычно, вход бесплатный, главное заранее зарегистрироваться. Будут четыре спикера от нашего банка, начинаем в 18.30 в БЦ «Высоцкий».
SSO на микросервисной архитектуре. Используем Keycloak. Часть №1
2020-02-03 в 14:24, admin, рубрики: ci/cd, keycloak, SSO, авторизация пользователя, Администрирование баз данных, Блог компании X5 Retail Group, Микросервисная архитектура, микросервисы, СУБД, токены, цодВ любой крупной компании, и X5 Retail Group не исключение, по мере развития возрастает количество проектов, где требуется авторизация пользователей. С течением времени требуется бесшовный переход пользователей из одного приложения в другой и тогда возникает необходимость использования единого сервера Single-Sing-On (SSO). Но как быть, когда такие идентификационные провайдеры как AD или иные, не обладающие дополнительными атрибутами, уже используются в различных проектах. На помощь придет класс систем под названием «идентификационные брокеры». Наиболее функциональными являются его представители, такие как Keycloak, Gravitee Access management и пр. Чаще всего сценарии использования могут быть различны: машинное взаимодействие, участие пользователей и пр. Решение должно поддерживать гибкий и масштабируемый функционал, способный объединить все требования в одном, и такие решением в нашей компании сейчас является индикационный брокер – Keycloak.
Load Testing Meetup в Райффайзенбанке
2020-01-28 в 12:25, admin, рубрики: ci/cd, load testing, meetup, Raiffeisenbank, raiffeisendgtl, Блог компании Райффайзенбанк, высокая производительность, конференции, системы сборки, Тестирование IT-системПриглашаем на митап сообщества Load Testing 4 февраля. Будет интересно: узнаем рецепты по программированию с InfluxDB и Grafana, разберем автоматизацию НТ с Jenkins. И ещё case study – deadlock, race condition и memory leak.
Регистрируйтесь и приходите в офис Райффайзенбанка в Нагатино!
Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly
2020-01-27 в 10:52, admin, рубрики: ci/cd, devops, groovy, JenkinsДоброго времени суток, Хабр!
Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя.
Введение
Такая аббревиатура как DevOps уже давно не является чем-то новым для IT сообщества. У многих людей фраза «сделать DevOps» ассоциируется с какой-то волшебной кнопкой, при нажатии на которую код приложения автоматически превращается в развернутое и протестированное приложение (все на самом деле сложнее, но мы абстрагируемся от всех процессов).
Итак, нам поступил заказ сделать такую волшебную кнопку, чтобы администраторы могли развертывать приложение по одному щелчку. Имеются различные виды реализации данной задачи: начиная от написания бота для какого-либо из мессенджеров и заканчивая разработкой отдельного приложения. Тем не менее цель у всего этого одна – сделать запуск сборки и развертывания приложения наиболее прозрачным и удобным.
В нашем случае мы будем использовать Jenkins.
Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок
2020-01-16 в 11:09, admin, рубрики: ci/cd, continuous deployment, continuous integration, Gamedev, github, nexus, pipeline, teamcity, unity, Блог компании Pixonic, геймдев, мобильнве игры, непрерывная интеграция, разработка игр, разработка мобильных приложений, системы сборки
Всем привет, на связи Александр Панов, техлид из Pixonic. В компании я отвечаю за межпроектные решения и околопроектную периферию и сегодня хочу поделиться своим опытом и наработками.
Платформы непрерывной разработки и интеграции, или CI/CD, сейчас используются повсеместно в тех отраслях, где решающую роль играет итеративность и отлаженность технических процессов. В этой статье речь пойдёт о CI/CD для реализации наших Unity-проектов для мобильной геймдев-разработки: с какими проблемами мы столкнулись, как их удалось решить, каких улучшений мы добились и как прописан наш пайплайн сборок билдов.
Сразу договоримся, что в качестве сервера CI мы используем TeamCity от JetBrains, в качестве хранилища Git-репозиториев ― GitHub, для хранения артефактов сборки ― Nexus.
Читать полностью »
Как собирать проекты в Jenkins, если нужно много разных окружений
2019-12-21 в 15:52, admin, рубрики: ci/cd, devops, docker, Jenkins, node.js, системы сборкиНа Хабре много статей о Jenkins, но мало где описывается пример работы Jenkins и докер агентов. Все популярные инструменты сборки проектов типа Drone.io, Bitbucket Pipeline, GitLab, GitHub actions и другие, могут собирать все в контейнерах. Но как же Jenkins?
На сегодняшний день есть решение проблемы: Jenkins 2 замечательно умеет работать с Docker агентами. В статье я хочу поделиться опытом и показать, как вы можете это сделать сами.
‘Hello World’ вам в облако
2019-12-14 в 14:10, admin, рубрики: ci/cd, devops, java, junit5, testcontainers, vertxМир сходит с ума, заталкивая калькулятор для 2+2 в облака. Чем мы хуже? Давайте Hello World затолкаем в три микросервиса, напишем пару-тройку тестов, обеспечим пользователей документацией, нарисуем красивый пайплайн сборки и обеспечим деплой в условный облачный прод при успешном прохождении тестов. Итак, в данной статье будет показан пример того, как может быть построен процесс разработки продукта от спецификации до деплоя в прод. Инетересно? тогда прошу под катЧитать полностью »