Как стать автором
Обновить
6.04

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

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

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

Красивый GitLab CI: extends, якоря, include, trigger

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.1K
image

В последнее время мне довелось столкнуться с огромным количеством CI в GitLab. Я каждый день писал свои и читал чужие конфиги. Мой день буквально выглядел как:
Читать дальше →

Новости

Простой и эффективный супервизор на С++ с универсальным Makefile

Время на прочтение6 мин
Количество просмотров3.2K

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

Читать далее

Сборка кастомного ISO образа Alpine Linux

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.1K

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

Читать далее

PyPi блокирует добавление модулей из России?

Время на прочтение1 мин
Количество просмотров4.1K

Это скорее вопрос, чем констатация факта.

Последний раз загружал twine'ом обновление своего модуля 11 июня. И последние дня 4-5 безуспешно пытался опубликовать еще одну библиотеку. Я уже "напряг" ChatGPT, проверил все - токен "для всех проектов", .whl и tar.gz маленькие и не битые, загружается что то одно до 100% и висит. Пробовал по одному - такая же картина. Пробовал с помощью curl - тоже самое:

Читать далее

Вышел релиз GitLab 18.0 с GitLab Duo для пользователей Premium и Ultimate

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров2.7K
Читать дальше →

Docker на каждый день: Ключевые команды в одной статье-шпаргалке

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров16K

Забудьте о том, что Docker — это некий таинственный инструмент исключительно для DevOps-инженеров. В современном мире разработки Docker стал таким же незаменимым швейцарским ножом, как Git или ваш любимый редактор кода. Он позволяет любому разработчику писать код, который будет одинаково работать на машине коллеги, на тестовом стенде и в продакшене, забыв о кошмаре "а у меня на машине все работает". Если вы еще не погрузились в мир контейнеризации или вам нужен удобный источник команд, эта статья — ваш экспресс-билет.

Читать далее

Основы по GNU Make

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров6.1K

GNU Make - это консольная утилита, которая запускает другие консольные утилиты в желаемой последовательности согласно скрипту. Только и всего.

В этом тексте я показал, как можно организовать самостоятельно написанные make скрипты для микроконтроллерных проектов.

Читать далее

Вышел релиз GitLab 17.11 с настраиваемыми фреймворками соответствия требованиям

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров3.5K
Читать дальше →

Статический Анализ С-кода

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.6K

Существуют бесплатные статические анализаторы для Си кода. Среди них splint и cppcheck.

Статический анализатор - это такая консольная программа, которая проверяет исходные коды до компиляции. Своего рода автоматическая инспекция программ.

В этом тексте я представил инструкцию про то, как интегрировать статический анализ кода в общий скрипт сборки проекта.

Суть этой короткой заметки в том, чтобы показать, как просто и лаконично происходит подключение разнообразных статических анализаторов к проекту, который собран скриптами сборки GNU Make.

Читать далее

Про конфигурацию go приложений и при чём тут vault

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.3K

Расскажу про свой опыт конфигурирования приложений, разобрав некоторые популярные библиотеки и примеры.

Let's tinker

Настройка ToolChain-а Cборки Прошивок для MIK32 (K1948BK018 + C + GCC + GNU Make + OpenOCD)

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров2.9K

В этом тексте я написал про то, как настроить рабочее окружение для разработки на российском микроконтроллере MIK32 (K1948BK018).

Читать далее

SSG своими руками

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров4.5K

Привет, Хабр!

Сегодня я хочу поделиться с вами руководством, как реализовать Static Site Generation (SSG) в React без использования сторонних фреймворков, таких как Next.js, TanStack Start, React Router и им подобных. Сразу оговорюсь: я не считаю их чем-то «плохим» и не агитирую против их применения. Всё гораздо проще: иногда по тем или иным причинам нет возможности использовать эти инструменты, или самостоятельная реализация оказывается предпочтительнее из-за количества изменений в кодовой базе.

Если вам интересна тема стратегий рендеринга веб-приложений, то прошу под кат.

Читать далее

Вышел релиз GitLab 17.10 с новыми фичами Duo Code Review и Root Cause Analysis

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров2.4K
Читать дальше →

Ближайшие события

Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1

Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров2.8K

Flutter & GitLab CI/CD. Подготовка и настройка физической машины

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

Эта статья станет первым шагом на пути к полной автоматизации сборки и доставки Flutter‑приложений. Мы разберем, как превратить вашу физическую машину в надежный инструмент для автоматизации. В конце статьи у вас будет готовая машина, которая сможет запускать и обрабатывать задачи из GitLab.

Читать далее

Причесываем VSCode до неприличной Yocto IDE или история одной кнопки

Уровень сложностиСредний
Время на прочтение44 мин
Количество просмотров10K

Идея написания этой статьи вдруг возникла у меня в начале 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 пакетов

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров543

Есть множество сервисов и программ по сборке программных пакетов: OpenSuse Build Service (OBS), koji. Fedora copr, rpmbuild, mock.

Все они позволяют организовать сборку программных пакетов, релиз пакетов в репозиторий и пр. Большинство систем обладают обширным функционалом, например тот же OBS позволяет собирать как deb пакеты, так и rpm, так и AppImage и т. д. Koji позволяет разбить сборку по разным машинам и управляя билдерами организовать сборку огромного числа тяжелых пакетов, многие комплексы типа OBS и Copr вообще организованы в виде сервисов в сети и позволяют различным пользователям собирать пакеты и публиковать их в публичных репозиториях.

Зачем же еще понадобилось дополнительное средство по организации сборки rpm пакетов и репозиториев?

Объясню - хотелось бы что-то простое в установке и настройке, как например gitea, такое, что можно просто поднять на локальной машине и организовать сборку из проектов, которых не так много и которые не такие монструозные, требующие несколько билдеров.

Читать далее

Подводный камень в docker env и java

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.8K

Столкнулся с небольшим и интересным моментом: внедрение переменных окружения (а ля environment variables) в стандартный микросервис написанный на Java (классика жанра – Spring Boot).

Читать далее (Тема не сложная)

HowTo: создание двоичного SDK(набора библиотек) для Windows с использованием vcpkg

Время на прочтение7 мин
Количество просмотров1.2K

В этом HowTo мы рассмотрим подготовку пакетов vcpkg для использования в двоичном виде.

В качестве "подопытных кроликов" будут выступать Qt6, QCustomPlotи я.

Spoiler: с QCustomPlot придется немного пострадать, но обычно все проще.

TLDR: vcpkg export

Далее

Истинное предназначение пресетов в СMake

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.4K

Система сборки CMake имеет в арсенале достаточно мощный инструмент - пресеты, шаблоны, называйте как угодно. В данной статье будет рассмотрено применение пресетов на примере модульной библиотеки реализующей функционал engine-а для OpenSSL и описано как перенести опции для кросскомпиляции в пресеты.

Читать далее

Вышел GitLab 17.9 с GitLab Duo Self-Hosted в общем доступе

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.4K
Читать дальше →
1
23 ...

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