В этом тексте я написал про то, как настроить рабочее окружение для разработки на российском микроконтроллере 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.
Детские ошибки при сборке Gradle-приложений

Привет! Я Никита, сейчас разрабатываю мобильный банк под Android, много работаю с Gradle, и мне это нравится.
Сборка приложений для меня уже рутина — на пет-проектах и на работе. Но однажды я задумался, а можно ли ускорить сборку? Если да, то как и насколько: на доли секунд или это будет ощутимо? Как именно ускорять, ведь есть куча версий Gradle, плагины, бинарный интерфейс и всё такое?
А потом я просто взял и попробовал все известные мне варианты, замерил скорость сборок и сделал выводы. Заглядывайте под кат, расскажу, что именно сработало и надо ли вам подкручивать параметры своей сборки или срочно обновлять Gradle.
Вышел GitLab 17.8 с улучшенной безопасностью репозиториев реестра контейнеров
Мы с радостью объявляем о новом релизе GitLab 17.8 с улучшенной безопасностью репозиториев с контейнерами, списком развёртываний релиза, отслеживанием экспериментов по машинному обучению, размещёнными обработчиками заданий на Linux для GitLab Dedicated и многими другими фичами!
CMake: Настройка проекта, подключение библиотек и мучения с Vulkan
Oh, and the documentation: It's extensive but never tells me what I need to know.
Эта цитата взята из обсуждения CMake на Reddit, и она очень точно описывает большую часть моих проблем с CMake: когда я хочу что-то сделать, документация не помогает с этим вообще, - приходится искать решения в чужих проектах и статьях.
В этой статье будут разобраны проблемы, с которыми я столкнулся в процессе изучения Vulkan. Однако материал будет полезен и тем, кто настраивает любой другой проект.
Вышел релиз GitLab 17.7 с новой пользовательской ролью Planner
Сегодня мы с радостью объявляем о новом релизе GitLab 17.7 с новой пользовательской ролью Planner, правилами автоматического разрешения уязвимостей, списками разрешённых интеграций инстанса, пользовательским интерфейсом для ротации токенов доступа и многими другими фичами!
Сравнение Gitlab cache и Gitlab artifacts

Привет, на связи Олег Казаков из Spectr. В этой статье поговорим о двух важных инструментах GitLab, которые помогают передавать данные между этапами CI/CD-пайплайна — Cache и Artifacts.
Если вы сталкивались с задачами оптимизации пайплайнов или передачи данных между этапами, то наверняка задавались вопросом, чем отличаются эти механизмы и в каких случаях использовать каждый из них.
Сборка RPM-пакетов в ALT Linux: автоматизация с помощью GEAR

В первой части материала мы разобрали случай сборки простого rpm-пакета в ALT Linux. За пример брали набор файлов изображений и собирали стандартной утилитой rpmbuild.
В этом материале поговорим про сборку python-проекта специальным инструментом — GEAR. Этот инструмент разработала команда сообщества Альт для автоматизации процесса сборки.
Общими словами, GEAR — это удобная обвязка вокруг Git и rpmbuild. Достаточно в дополнение к spec-инструкции написать GEAR-правила формирования архива, полученного из git-репозитория.
Материал статьи может быть полезен при изучении темы сборки rpm-пакета инструментом gear-rpm в ОС «Альт».