Как стать автором
Поиск
Написать публикацию
Обновить
12.44

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

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

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

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.5K
Читать дальше →

Пишем обертку для сборки OpenSSL на CMake

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

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

Главной проблемой сборки OpenSSL выступает система сборки - Autotools, ее сложно интегрировать в CMake. В данной статье рассмотрим как приложив минимальное количество усилий перенести сборку OpenSSL на CMake.

Читать далее

Как я решил проблему гибкого управления порядком импортов в большом проекте

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

Eslint плагин eslint-plugin-import-group

В одном из моих недавних проектов столкнулся с проблемой: в большом приложении, над которым работают десятки разработчиков, необходимо было обеспечить единообразный порядок импортов.

Читать далее

[Перевод] Управление пакетами C ++ с помощью Conan: Введение

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

Прим. пер.: Перевод и примеры исправлены, дополнены и адаптированы с учётом современных версий Conan 2, инструментов сборки и библиотек.

Автор: Ilyas Hamadouche

Управление зависимостями C++ может оказаться непростой задачей. Зачастую разработчику приходится самостоятельно заботиться о загрузке исходных кодов, интеграции готовых к использованию двоичных файлов, сборке, установке и связывании библиотек. В этой статье я расскажу вам о Conan — менеджере пакетов C/C++ с открытым исходным кодом, который отлично справляется с этими задачами.

Conan — это свободный менеджер пакетов с открытым исходным кодом (MIT), разработанный для C и C++. Он похож на NuGet и npm для .NET и JavaScript соответственно. Он может работать в любой операционной системе, поддерживающей Python. К ним относятся Linux, Mac, а также Windows.

Читать далее

В Microsoft тоже ошибаются. Проверяем MSBuild

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

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

Читать далее

Детские ошибки при сборке Gradle-приложений

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

Привет! Я Никита, сейчас разрабатываю мобильный банк под Android, много работаю с Gradle, и мне это нравится.

Сборка приложений для меня уже рутина — на пет-проектах и на работе. Но однажды я задумался, а можно ли ускорить сборку? Если да, то как и насколько: на доли секунд или это будет ощутимо? Как именно ускорять, ведь есть куча версий Gradle, плагины, бинарный интерфейс и всё такое?

А потом я просто взял и попробовал все известные мне варианты, замерил скорость сборок и сделал выводы. Заглядывайте под кат, расскажу, что именно сработало и надо ли вам подкручивать параметры своей сборки или срочно обновлять Gradle.

Читать далее

Вышел GitLab 17.8 с улучшенной безопасностью репозиториев реестра контейнеров

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

CMake: Настройка проекта, подключение библиотек и мучения с Vulkan

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

Oh, and the documentation: It's extensive but never tells me what I need to know.

Эта цитата взята из обсуждения CMake на Reddit, и она очень точно описывает большую часть моих проблем с CMake: когда я хочу что-то сделать, документация не помогает с этим вообще, - приходится искать решения в чужих проектах и статьях.

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

Читать далее

Вышел релиз GitLab 17.7 с новой пользовательской ролью Planner

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

Сравнение Gitlab cache и Gitlab artifacts

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

Привет, на связи Олег Казаков из Spectr. В этой статье поговорим о двух важных инструментах GitLab, которые помогают передавать данные между этапами CI/CD-пайплайна — Cache и Artifacts.

Если вы сталкивались с задачами оптимизации пайплайнов или передачи данных между этапами, то наверняка задавались вопросом, чем отличаются эти механизмы и в каких случаях использовать каждый из них.

Разобраться в Cache и Artifacts

Сборка RPM-пакетов в ALT Linux: автоматизация с помощью GEAR

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

В первой части материала мы разобрали случай сборки простого rpm-пакета в ALT Linux. За пример брали набор файлов изображений и собирали стандартной утилитой rpmbuild.

В этом материале поговорим про сборку python-проекта специальным инструментом — GEAR. Этот инструмент разработала команда сообщества Альт для автоматизации процесса сборки.

Общими словами, GEAR — это удобная обвязка вокруг Git и rpmbuild. Достаточно в дополнение к spec-инструкции написать GEAR-правила формирования архива, полученного из git-репозитория.

Материал статьи может быть полезен при изучении темы сборки rpm-пакета инструментом gear-rpm в ОС «Альт».

Собрать пакет

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

Вышел релиз GitLab 17.6 с бета-версией Duo Chat с автономным управлением

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

Дневник альтруиста. OpenBlt

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

В данной статье будет рассмотрен Си проект OpenBlt с точки зрения системы сборки CMake. Я постараюсь не теоретически или эмпирически, а именно на практике продемонстрировать, что в составном проекте лучше один раз уделить время на подготовку хорошего фундамента для архитектуры, чем впоследствии мириться с тонной дублируемого и не универсального поведения. Также я постараюсь доказать, что cmake генераторы выражений - намного легче и приятнее, чем они кажутся на первый взгляд.
И да, я понимаю, что и на второй, и на третий взгляд за генераторы выражений хочется жалобу на Kitware подать. :D

* Превью сгенерировано с помощью Adobe Firefly

Читать далее

Введение в сборку RPM-пакетов в ОС «Альт» Linux: основы и первый пример

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

Сборка пакетов под различные дистрибутивы имеет свои особенности. Речь не только про отличия типов пакетов, но и про детали сборки в родственных по формату пакетов дистрибутивах. В этом материале изложен опыт сборки простого rpm-пакета в системе ALT Linux. Материал может быть удобен как справочная страница при изучении темы сборки rpm-пакета инструментом rpmbuild в ОС «Альт».

Читать далее

Готовим Gitea со вкусом werf CI/CD и Dex-авторизации в кластере Deckhouse Kubernetes Platform. Часть 3

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

Завершаем приготовление Gitea со вкусом werf CI/CD. В финальной части серии создадим репозиторий с кодом приложения, подготовим простенький Helm-чарт и Gitea Actions-пайплайн, в котором опишем автоматический процесс сборки и деплоя приложения в кластер Deckhouse Kubernetes Platform.

Читать далее

Готовим Gitea со вкусом werf CI/CD и Dex-авторизации в кластере Deckhouse Kubernetes Platform. Часть 2

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

Продолжаем готовить возможную замену GitLab или GitHub с удобным CI/CD и on-premise размещением. Во второй части подробной статьи-инструкции для новичков поговорим о Gitea Actions: настроим инфраструктуру и Gitea Actions CI/CD. 

Читать далее

Готовим Gitea со вкусом werf CI/CD и Dex-авторизации в кластере Deckhouse Kubernetes Platform. Часть 1

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

Клиенты «Фланта» иногда ищут альтернативу GitLab или GitHub с удобным CI/CD и on-premise-размещением. Один из возможных вариантов — Open Source-решение Gitea. 

В сравнении с GitLab сервис Gitea прост и потребляет в два раза меньше ресурсов. При этом его функциональности достаточно, чтобы построить экосистему управления кодом и его развёртывания в Kubernetes. Эта статья — детальная инструкция по установке и настройке сервера Gitea, а также организации с его помощью авторизации через Dex в кластере Deckhouse Kubernetes Platform. 

В следующих частях серии настроим Gitea act_runner и подготовим Gitea Actions-пайплайн, в котором развернём приложение в кластере с помощью werf.

Читать далее

Обновление Прошивки из Make Скрипта

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

В этом тексте показано как можно обновить прошивку из-под GNU Make скрипта.

По сути система сборки это интерпретируемый язык программирования. А значит на нём можно писать код, который может делать что угодно.

Вот например можно на GNU Make написать код загрузки *.bin (аря) в микроконтроллер

Легко...

Читать далее

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