Мы с радостью объявляем о релизе 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 (MIK32 + 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, автоматическим удалением старых конвейеров и многими другими фичами!
Пишем обертку для сборки OpenSSL на CMake

Столкнулся я с ситуацией, в которой нужно было собирать OpenSSL под разные операционные системы и архитектуры процессоров. В сумме насчитывается 5 сборок.
Главной проблемой сборки OpenSSL выступает система сборки - Autotools, ее сложно интегрировать в CMake. В данной статье рассмотрим как приложив минимальное количество усилий перенести сборку OpenSSL на CMake.
Как я решил проблему гибкого управления порядком импортов в большом проекте

Eslint плагин eslint-plugin-import-group
В одном из моих недавних проектов столкнулся с проблемой: в большом приложении, над которым работают десятки разработчиков, необходимо было обеспечить единообразный порядок импортов.
[Перевод] Управление пакетами C ++ с помощью Conan: Введение

Прим. пер.: Перевод и примеры исправлены, дополнены и адаптированы с учётом современных версий Conan 2, инструментов сборки и библиотек.
Управление зависимостями C++ может оказаться непростой задачей. Зачастую разработчику приходится самостоятельно заботиться о загрузке исходных кодов, интеграции готовых к использованию двоичных файлов, сборке, установке и связывании библиотек. В этой статье я расскажу вам о Conan — менеджере пакетов C/C++ с открытым исходным кодом, который отлично справляется с этими задачами.
Conan — это свободный менеджер пакетов с открытым исходным кодом (MIT), разработанный для C и C++. Он похож на NuGet и npm для .NET и JavaScript соответственно. Он может работать в любой операционной системе, поддерживающей Python. К ним относятся Linux, Mac, а также Windows.
В Microsoft тоже ошибаются. Проверяем MSBuild

MSBuild — это платформа автоматизированной сборки приложений от Microsoft, которая используется для компиляции, упаковки и развёртывания приложений. Проект пользуется большой популярностью среди разработчиков, и мы сами активно применяем его в работе нашего анализатора. В статье мы расскажем о потенциальных ошибках, которые нам удалось выявить в продукте от Microsoft.