
Системы сборки *
Системы автоматизации сборки
Новости
Простой и эффективный супервизор на С++ с универсальным Makefile
Несмотря на развитие лингвистических моделей, я подумал, что моя версия супервизора может быть достаточно интересна для размещения в статье. Назначение супервизора - поднять повторно программу, которая по каким-то причинам упала с ошибкой. Причём если программа завершила работу без ошибки, то она перезапущена не будет, как и не будут создаваться логи. В логах пишется время падения и тип ошибки. Универсальный Makefile может быть интересен тем, что его достаточно закинуть в папку с исходниками, добавить необходимые пути вида:
LDFLAGS = -I/usr/include/boost
LIBS = -lboost_serialization
Сборка кастомного ISO образа Alpine Linux

Alpine - это легковесный Linux который используется для минимальной установки. Для безопасности в docker образах используют его. Используется для минимальных сборок.
Иногда возникает ситуации когда нужен кастомный образ iso со всеми нужными пакетами, а стандартные образы не содержит нужные пакеты в этом случае помогает сборка собственного iso. В этой статье расскажу как я собрал образ для выполнения одной задачи.
PyPi блокирует добавление модулей из России?

Это скорее вопрос, чем констатация факта.
Последний раз загружал twine'ом обновление своего модуля 11 июня. И последние дня 4-5 безуспешно пытался опубликовать еще одну библиотеку. Я уже "напряг" ChatGPT, проверил все - токен "для всех проектов", .whl и tar.gz маленькие и не битые, загружается что то одно до 100% и висит. Пробовал по одному - такая же картина. Пробовал с помощью curl - тоже самое:
Вышел релиз GitLab 18.0 с GitLab Duo для пользователей Premium и Ultimate
Мы с радостью объявляем о релизе GitLab 18.0 c GitLab Duo в планах Premium и Ultimate, автоматическими ревью мерж-реквестов с Duo Code Review, улучшенным контекстом Duo Code Review, фичей Repository X-Ray, доступной для Gitlab Duo с самостоятельным хостингом и многими другими фичами!
Docker на каждый день: Ключевые команды в одной статье-шпаргалке

Забудьте о том, что Docker — это некий таинственный инструмент исключительно для DevOps-инженеров. В современном мире разработки Docker стал таким же незаменимым швейцарским ножом, как Git или ваш любимый редактор кода. Он позволяет любому разработчику писать код, который будет одинаково работать на машине коллеги, на тестовом стенде и в продакшене, забыв о кошмаре "а у меня на машине все работает". Если вы еще не погрузились в мир контейнеризации или вам нужен удобный источник команд, эта статья — ваш экспресс-билет.
Основы по GNU Make
GNU Make - это консольная утилита, которая запускает другие консольные утилиты в желаемой последовательности согласно скрипту. Только и всего.
В этом тексте я показал, как можно организовать самостоятельно написанные make скрипты для микроконтроллерных проектов.
Вышел релиз GitLab 17.11 с настраиваемыми фреймворками соответствия требованиям
Мы с радостью объявляем о релизе GitLab 17.11 с настраиваемыми фреймворками соответствия требованиям, ещё большим числом ИИ-фич, доступных в GitLab Duo с самостоятельным хостингом, кастомными полями эпиков, тикетов и задач, входными параметрами конвейеров CI/CD , графическим интерфейсом для управления сервисными аккаунтами и многими другими фичами!
Статический Анализ С-кода
Существуют бесплатные статические анализаторы для Си кода. Среди них splint и cppcheck.
Статический анализатор - это такая консольная программа, которая проверяет исходные коды до компиляции. Своего рода автоматическая инспекция программ.
В этом тексте я представил инструкцию про то, как интегрировать статический анализ кода в общий скрипт сборки проекта.
Суть этой короткой заметки в том, чтобы показать, как просто и лаконично происходит подключение разнообразных статических анализаторов к проекту, который собран скриптами сборки GNU Make.
Про конфигурацию go приложений и при чём тут vault

Расскажу про свой опыт конфигурирования приложений, разобрав некоторые популярные библиотеки и примеры.
Настройка ToolChain-а Cборки Прошивок для MIK32 (K1948BK018 + C + GCC + GNU Make + OpenOCD)
В этом тексте я написал про то, как настроить рабочее окружение для разработки на российском микроконтроллере MIK32 (K1948BK018).
SSG своими руками

Привет, Хабр!
Сегодня я хочу поделиться с вами руководством, как реализовать Static Site Generation (SSG) в React без использования сторонних фреймворков, таких как Next.js, TanStack Start, React Router и им подобных. Сразу оговорюсь: я не считаю их чем-то «плохим» и не агитирую против их применения. Всё гораздо проще: иногда по тем или иным причинам нет возможности использовать эти инструменты, или самостоятельная реализация оказывается предпочтительнее из-за количества изменений в кодовой базе.
Если вам интересна тема стратегий рендеринга веб-приложений, то прошу под кат.
Вышел релиз GitLab 17.10 с новыми фичами Duo Code Review и Root Cause Analysis
, новыми метриками DORA для визуализации производительности DevOps и многими другими фичами!
Ближайшие события
Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1

Flutter & GitLab CI/CD. Подготовка и настройка физической машины
В мире мобильной разработки, где скорость и стабильность доставки приложений определяют успех, выбор инструментов для автоматизации становится особенно важным. Работая мобильным разработчиком в TAGES более пяти лет, я убедился, что использование self‑hosted решений дает значительные преимущества в гибкости, надежности и контроле над процессами. Одним из таких мощных инструментов является GitLab — платформа, которая позволяет не только управлять кодом, но и настраивать полноценные CI/CD‑процессы.
Эта статья станет первым шагом на пути к полной автоматизации сборки и доставки Flutter‑приложений. Мы разберем, как превратить вашу физическую машину в надежный инструмент для автоматизации. В конце статьи у вас будет готовая машина, которая сможет запускать и обрабатывать задачи из GitLab.
Причесываем VSCode до неприличной Yocto IDE или история одной кнопки

Идея написания этой статьи вдруг возникла у меня в начале 2025 года, когда я проснулся 2 января с тяжелой головой и вдруг понял что нужно сделать что то хорошее, что то хорошее для вас, как говорит моя дочь Маргарита «для тех кто в Интернете». Как минимум мне нужен компьютерный класс на Raspberry Pi4, ну или хотя бы ферма docker(ов).
Я обожаю Visual Studio Code, но мне всегда не хватает времени чтобы более детально разобраться в его огромной функциональности, в различных конфигурациях, тасках и launch(ах) описанных в формате json и я решил это обойти. Статья из серии DockerFace.
Краткое содержание статьи:
Выбор и настройка плагина для VSCode
Запись Yocto образа на SD карту памяти
Сборка Yocto образа в Docker(е)
Прием Барона Мюнхгаузена для документирования bash
Запуск Yocto образа RPi под виртуальной машиной Qemu
Развертывание DemoMinimal образа из Yocto коробки
Выписываем Buster Slim(а) для крутой разборке в Докере
Настройка DHCP, TFTP и NFS сервера
Загрузка core-image-minimal (wic) образа на rpi4 по сети
Сетевая загрузка Raspbian для платы Raspberry Pi4
Побочный эффект сборки, загрузка ISO дистрибутива Ubuntu по сети
Автоматический анализ Yocto логов с помощью Deepseek
самая красивая кнопка для друзей Элвиса
встраиваем кнопки в VSCode паровозиком
MockGUI – помощь в сборке и организации мини репозитория rpm пакетов

Есть множество сервисов и программ по сборке программных пакетов: OpenSuse Build Service (OBS), koji. Fedora copr, rpmbuild, mock.
Все они позволяют организовать сборку программных пакетов, релиз пакетов в репозиторий и пр. Большинство систем обладают обширным функционалом, например тот же OBS позволяет собирать как deb пакеты, так и rpm, так и AppImage и т. д. Koji позволяет разбить сборку по разным машинам и управляя билдерами организовать сборку огромного числа тяжелых пакетов, многие комплексы типа OBS и Copr вообще организованы в виде сервисов в сети и позволяют различным пользователям собирать пакеты и публиковать их в публичных репозиториях.
Зачем же еще понадобилось дополнительное средство по организации сборки rpm пакетов и репозиториев?
Объясню - хотелось бы что-то простое в установке и настройке, как например gitea, такое, что можно просто поднять на локальной машине и организовать сборку из проектов, которых не так много и которые не такие монструозные, требующие несколько билдеров.
Подводный камень в docker env и java
Столкнулся с небольшим и интересным моментом: внедрение переменных окружения (а ля environment variables) в стандартный микросервис написанный на Java (классика жанра – Spring Boot).
HowTo: создание двоичного SDK(набора библиотек) для Windows с использованием vcpkg

В этом HowTo мы рассмотрим подготовку пакетов vcpkg
для использования в двоичном виде.
В качестве "подопытных кроликов" будут выступать Qt6
, QCustomPlot
и я.
Spoiler: с QCustomPlot
придется немного пострадать, но обычно все проще.
TLDR: vcpkg export
Истинное предназначение пресетов в СMake

Система сборки CMake имеет в арсенале достаточно мощный инструмент - пресеты, шаблоны, называйте как угодно. В данной статье будет рассмотрено применение пресетов на примере модульной библиотеки реализующей функционал engine-а для OpenSSL и описано как перенести опции для кросскомпиляции в пресеты.
Вышел GitLab 17.9 с GitLab Duo Self-Hosted в общем доступе
Мы с радостью объявляем о новом релизе GitLab 17.9 с GitLab Duo для самостоятельного развёртывания, доступным широкой аудитории, возможностью создавать несколько сайтов GitLab Pages с параллельными развёртываниями, возможностью добавлять файлы проекта в Duo Chat из VS Code и IDE JetBrains, автоматическим удалением старых конвейеров и многими другими фичами!
Вклад авторов
aigrychev 258.3aionin 249.0diafour 212.0tkir 196.0Zhbert 148.0tangro 138.8nem 117.6AloneCoder 107.2SvyatoslavMC 91.0m1rko 85.6