Как стать автором
Обновить
12.2
Рейтинг

Системы сборки *

Системы автоматизации сборки

Сначала показывать
Порог рейтинга

Как мы внедряли Allure TestOps в стриминговом сервисе

Блог компании МТС Тестирование IT-систем *Java *Тестирование веб-сервисов *Системы сборки *
Tutorial

Всем привет! Меня зовут Иван Чечиков, я QA lead в МТС Digital, работаю над проектом стримингового сервиса WASD.TV. В этой статье я поделюсь опытом о том, как мы внедряли систему управления тестированием (TMS) Allure TestOps в наш проект и что из этого получилось. А еще отмечу подводные камни, с которыми столкнулись и обозначу пути их обхода. Статья может быть полезна тем, кто задумываются о переходе на данную TMS с других готовых решений, таких так Zephyr, TestRail, Test IT.

Подробности – под катом.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 1.5K
Комментарии 4

Новости

Как настроить CI в мобильных приложениях

Блог компании СберМаркет Разработка мобильных приложений *Системы сборки *DevOps *

Приветствую! Меня зовут Алексей Денискин, я тимлид мобильной команды СберМаркета. В этой статье я на примере покажу, как организовать CI для мобильных приложений на Android и iOS. Я буду использовать GitLab CI, но описанный подход применим к большинству стандартных стеков.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.2K
Комментарии 0

Миграция приложения из Docker Compose в Kubernetes. Как, зачем и с какими проблемами я столкнулся

Системы сборки *DevOps *Облачные сервисы *Kubernetes *
Из песочницы

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

Стоявшая передо мной задача: улучшить инфраструктуру и качество работы приложения, успевшего вырасти из MVP и стенда для одного клиента в популярный SaaS. Отсутствие отказоустойчивости и масштабируемости компонентов сервиса начало ощутимо мешать пользователям. Настала пора адаптировать приложение под кластерный режим.

Приложение работало в контейнерах, а оркестрация осуществлялась с помощью Docker Compose. Компоненты приложения не задумывались готовыми к запуску в кластерном режиме, что, разумеется, нормальная ситуация для раннего этапа многих проектов: бизнес требует быстрой доставки новых функций, и на преждевременную оптимизацию не всегда можно и нужно тратить время. Но в какой-то момент именно стабильность и быстродействие становятся самыми важными функциями. 

Каково мигрировать приложение с уже сформированным техническим стеком и базой пользователей? Какие есть варианты решения, подводные камни? Как оценить есть ли смысл в таких трудозатратах? В этой статье я поделюсь своим опытом переноса приложения из Docker Compose в Kubernetes.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 8.8K
Комментарии 15

Размер имеет значение! Часть 1

Git *Оболочки *Разработка под Android *Системы сборки *DevOps *
Из песочницы
Tutorial

Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать регрессию размера нашего приложения на CI для автоматизации этого процесса. В данной части, обсудим как можно легко проверять размер в development ветке.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 4.2K
Комментарии 12

Докеризированные команды и make, как стандартная точка в проект. Быстрый способ запуска разработки проекта на php

PHP *Системы сборки *
Tutorial

В публикации опишу подход к использованию контейнеров docker и make который я практиковал последние несколько лет в своих рабочих командах и личных pet-проектах. Подход сформировался в процессе поиска минималистичного и унифицированного способа запуска проектов на php. Чтобы любой разработчик мог в пару простейших команд получить рабочую копию для разработки, располагая только доступом к репозиторию, без бубнов, обновляемых инструкций и тимлида на соседнем стуле.

Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 2.3K
Комментарии 6

Задаём порядок деплоя ресурсов в Kubernetes с помощью werf/Helm

Блог компании Флант Системы сборки *DevOps *Kubernetes *

При деплое в Kubernetes часто требуется выкатывать ресурсы в определённом порядке, а иногда и дожидаться готовности сторонних ресурсов. Например, нужно сначала запустить БД, дождаться создания динамического Secret’а сторонним оператором, потом выполнить инициализацию или миграции БД, а уже затем запустить само приложение. 

Рассмотрим, как решать такие задачи с помощью Helm, а также сравним с более быстрым и удобным вариантом, который предлагает Open Source-утилита werf.

Читать далее
Всего голосов 29: ↑28 и ↓1 +27
Просмотры 2.7K
Комментарии 2

Соберёмся? Вторая проверка проекта MSBuild

Блог компании PVS-Studio .NET *C# *Системы сборки *

MSBuild – популярная сборочная платформа с открытым исходным кодом от Microsoft, которую используют разработчики по всему миру. В далёком 2016 году мы уже проверяли проект при помощи PVS-Studio и нашли несколько подозрительных мест. Давайте посмотрим, что удалось обнаружить в коде MSBuild при повторной проверке.

Читать далее
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 1.7K
Комментарии 0

Руководство по CMake для разработчиков C++ библиотек

Open source *Программирование *C++ *C *Системы сборки *
Из песочницы
Tutorial

Данное руководство позволит читателю составить полную картину того, как организовать сборку C++ библиотек с использованием современных возможностей CMake. Предполагается, что читатель имеет представление о базовых понятиях из мира CMake и динамических/статических C++ библиотек, так как в руководстве они могут не объясняться.

Читать далее
Всего голосов 71: ↑71 и ↓0 +71
Просмотры 19K
Комментарии 44

Использовать ли Reusable Workflows в GitHub Actions?

GitHub *Системы сборки *DevOps *

CI система GitHub Actions достаточно свежа по сравнению со своими конкурентами, но продолжает радовать сочетанием легкости использования и постепенным расширением функционала. На мой взгляд, шаблонизация используемых пайплайнов это безумно важная составляющая, и в конце 2021 года GitHub закрыли этот вопрос, представив на наш суд Reusable Workflows. В данной статье я попробую поделиться собственным опытом построения проекта полностью на основе шаблонов workflow и порассуждать о применимости этого подхода.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.3K
Комментарии 2

Динамический импорт модулей в Python

Блог компании Sportmaster Lab Python *Программирование *Системы сборки *

Давайте представим ситуацию, когда вам нужно установить на все виртуальные машины (агенты сервера сборки) определенный пакет Python. Но вы не можете изменить образ агента, а загрузка, к примеру из pypi.org или github.com непроверенных пакетов, ограничена. Как тут не вспомнить последние новости про вредоносные изменения в пакете nmp или более свежую информацию про PyPi.

Python использует подход под названием EAFP — Easier to ask for forgiveness, than permission (легче попросить прощения, чем разрешения). Это значит, что проще предположить, что что-то существует (к примеру, словарь в словаре, или в нашем случае модуль в системе) или получить ошибку в противном случае.

Этот подход, развитый в PEP-0302, позволяет делать хук импорта модулей, что в итоге приводит нас к возможности написания следующего кода:

Читать далее
Всего голосов 15: ↑10 и ↓5 +5
Просмотры 5.6K
Комментарии 8

Прагматичная разработка-2: фронтэнд

JavaScript *Анализ и проектирование систем *Maps API *Системы сборки *Управление проектами *
Tutorial

Продолжение разработки простого проекта про specialty-кофейни на Кипре.

В первой части я рассказал про API микросервис, теперь расскажу про фронтэнд-сайт и в финальной статье - про бота для Telegram.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 2K
Комментарии 2

Статическое Python приложение в образе контейнера на базе scratch

Python *Системы сборки *DevOps *
Tutorial

Небольшое руководство о том, как можно собрать Python приложение в самодостаточный статически связанный двоичный файл и упаковать в его образ контейнера на базе scratch.

Размер итогового образа контейнера получится всего лишь от 13 мегабайт.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 3.6K
Комментарии 6

Настройка ToolChain(а) для Win10+GCC+С+Makefile+ARM Cortex-Mx+GDB+Jenkins

Eclipse *C *Программирование микроконтроллеров *Системы сборки *DevOps *
Tutorial

В тексте написано кокой путь проходят сорцы с момента написания до исполнения на микроконтроллере. Также про то как настроить ToolChain из бесплатных утилит. Показано на что стоит обратить внимание при запуске первого проекта на Cortex-M чипах. Этот текст, в сущности, пояснение того, что происходит под капотом большинства IDE.

Читать далее
Всего голосов 16: ↑9 и ↓7 +2
Просмотры 3.7K
Комментарии 46

Со скрипта на «верфь»

Open source *IT-инфраструктура *Системы сборки *DevOps *Kubernetes *

Использование того или иного продукта в проекте - это всегда попытка найти лучшее решение, балансируя между ограниченным бюджетом, возможностями роста практически по любому сценарию и высотой "порога входа". Существует много продуктов, которые связаны с контейнерами, что выбрать подходящий инструмент становится всё сложнее и сложенее, а community с "промытыми мозгами" и мышлением "ёжиков жрущих кактус" только добавляет сложности (хотя в противовес оным есть хейтеры, которые наоборот обгадят решение, просто потому что в своё время оно им не подошло).

В целом, чтобы выбрать нужное решение чаще всего приходится поднять лабу, которая покроет 90% задач, чтобы понять насколько решение подходящее, а это значит пройти какую-то боль, потратить время и деньги. Но ещё помогают статьи, в которых рассматриваются частные случаи внедрения и подбор инструментов, чтобы научиться на чужих ошибках через объективный взгляд со стороны. Надеюсь, эта статья о том, почему и как мы пришли к решению с werf, поможет кому-то подобрать инструмент для своих нужд.

Читать далее
Всего голосов 32: ↑30 и ↓2 +28
Просмотры 4.1K
Комментарии 0

Как работать с Makefile-проектами в среде CLion

Программирование *C++ *C *Разработка под Linux *Системы сборки *
Tutorial

За последние несколько лет мне пришлось столкнуться с множеством вопросов, которые были сформулированы примерно так: "мой проект не открывается в среде CLion". В свою очередь, это приводило к необходимости из раза в раз объяснять разным людям примерно одно и то же. Статья имеет целью сохранить тот опыт, который был накоплен в процессе анализа десятков разных проектов. Предполагается, что официальная документация вам уже известна и не вызывает вопросов.

Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 2.6K
Комментарии 0

GOAPPLE: быстрая настройка I3-wm

Настройка Linux *Go *Системы сборки *Софт
Из песочницы

Привет, Хабр! Сегодня я хотел бы рассказать вам о моём переезде на Linux под управлением оконного менеджера I3-wm. Попробую немного раскрыть тему настройки оконного менеджера и поделюсь своим опытом. Надеюсь кому-то будет полезно получить такого рода информацию.

P.s если вы не новичок, то вред ли узнаете много нового, но благодарю за внимание!

И так! Данная программа была разработана в целях бэкапа конфигурации системы, которую я использую каждый день - Manjaro I3. Я приготовил 3 конфигурации оконного менеджера I3-wm для систем: Manjaro, Solus и Fedora, так как они наиболее популярны на мой взгляд. Я использовал каждый из представленных дистрибутивов и временами меняю совой основной дистрибутив на один из них.

Я пользуюсь Linux с 18 февраля 2019 года, но летом 2020 я начал использовать Linux как основную систему (на тот момент ещё Ubuntu 20.04 LTS).

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 6.2K
Комментарии 12

Введение в $mol. Часть 1. Модульная система

Разработка веб-сайтов *JavaScript *Системы сборки *TypeScript *
Tutorial

Эта статья открывает серию публикаций по обучению фреймворку $mol. Сегодня мы разберемся в модульной системе MAM. Речь пойдет об организации кода, отделении его от инфраструктуры, сборке, версионировании, нейминге, минимизации размера бандла, автоматическом выкачивании зависимостей, фрактальных моно-поли-репозиториях, разделении кода на платформы, альтернативе импортам/экспортам, автоматическом разруливании циклических зависимостей.

Читать далее
Всего голосов 25: ↑18 и ↓7 +11
Просмотры 4.5K
Комментарии 18

Локальные репозитории пакетов

Системное администрирование **nix *Системы сборки *

Всем привет! Сегодня хочу поделиться нашими мыслями относительно того, как защититься от санкций палок в колёсах в современных условиях. Собственно, что мы имеем ввиду? Речь идёт о том, что в крупных проектах часто есть единые точки отказа в процессах CI/CD, это может быть как простой репозиторий кодом, так и различные конвеерные системы сборки кода и доставки его в рабочие окружения. Если мы говорим про системный софт, то его можно просто перестать обновлять, запретить ему ходить "наружу", но в данной статье мы поговорим про внешние репозитории с кодом.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 6.1K
Комментарии 11

Вышел релиз GitLab 14.8 с новыми типами ключей SSH и механизмом правил по безопасности

Open source *Git *Системы управления версиями *Системы сборки *DevOps *
Перевод
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 4.2K
Комментарии 6

TeamCity C# API для сборки приложений

Блог компании JetBrains .NET *C# *Системы сборки *

Начиная с первых версий .NET Core для сборки приложений, компания Microsoft предоставляет простой и удобный интерфейс командной строки (.NET CLI). Его возможности покрывают большинство потребностей по сборке, упаковке и тестированию приложений. Несмотря на это, по мере роста приложения, увеличения количества его составных частей/сборок/пакетов, усложнения процессов тестирования и развертывания, рядом с проектом часто появляются такие файлы сценариев как build.ps1, build.sh, build.cmd или даже полноценные инфраструктуры автоматизации построения приложений. В статье TeamCity C# script runner была предложена еще одна альтернатива - сценарии C#, которые особенно полезны, когда необходимо эффективно автоматизировать какой либо аспект сборки силами .NET разработчиков или  DevOps, знакомыми с синтаксисом C#. Тогда же была упомянута идея расширить встроенный API сценариев для более глубокой интеграции с TeamCity и для поддержки наиболее частых вариантов использования. Предполагая, что API сценариев чаще всего будет задействован при сборке приложений, мы в первую очередь решили расширить именно его. В этой статье будут приведены примеры использования этого API.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 3.8K
Комментарии 0

Вклад авторов

Работа

DevOps инженер
46 вакансий