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

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

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

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

Какие этапы можно пройти при написании правильного пайплайна?

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

5 декабря мы провели вебинар «Этапы становления CI с использованием GitLab-CI», на котором подробно разобрали этапы создания качественного пайплайна. Делимся с вами кратким конспектом встречи.

Читать далее

Что такое генераторы статических сайтов и почему Astro — лучший фреймворк для разработки лендингов

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

Всем привет! Недавно я решал задачу разработки сайта-лендинга для собственного проекта. У лендинга должна была быть админка, то есть данные для его содержимого должны были храниться и редактироваться на сервере. Поэтому я искал современный и мощный инструмент для генерации страниц на основе данных из API админ-панели.

Так я познакомился c подходом SSG (Static Site Generation — Генерация статических сайтов), попробовал его в деле, и хочу рассказать о том, что это такое, зачем может понадобиться SSG-фреймворк и почему Astro — лучший выбор для генерации статических сайтов прямо сейчас.

Читать далее

Вышел релиз GitLab 16.6 с новой фичей GitLab Duo Chat (бета)

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

Сортировка Конфигов для Make Сборок

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

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

Все передают конфиги по-разному.

В этом тексте представлен способ передавать конфиги через скрипты сборки.

Читать далее

Webpack vs esbuild — уже можно использовать в production?

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

Периодически я пробую разные инструменты, и если они стабильно покрывают все необходимые сценарии - включаю в свою экосистему для коммерческих проектов. С третьего подхода за последние 3 года esbuild, наконец, приблизился по функционалу к Webpack. В статье привожу проблемы, с которыми я столкнулся при миграции, и пути их решения.

Читать далее

От ручной сборки приложений к конвейеру: опыт бэк-офиса «Магнита»

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

Как мы ежа и ужа собирали. Сказ об автосборке разномастных технологий под одну крышу.

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

Мы научились хранить наши приложения в git и собирать их «одним кликом», перешли от подхода «один репозиторий – одна технология» к «один репозиторий – одно приложение». Реализовали установку всех частей приложения «одной командой»; собрали грабли, разложенные в самых неожиданных местах, и создали несколько инструментов, помогающих на разных этапах сборки и установки приложений.

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

Читать далее

Вышел релиз GitLab 16.5 с отчётами о соответствии требованиям и правилами задания целевой ветки мерж-реквестов

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

Готовим драйвера МК для проброса периферии

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

В предыдущей статье рассматривался принцип, как можно прокинуть периферию микроконтроллера (UART, I2C, CAN bus etc) в обычную ПК программу, так как если бы она входила в состав нашего компьютера и висела на обшей шине с памятью. В той публикации рассматривается теория и инструменты, которые позволяют это сделать. В этой части мы рассмотрим, как на практике осуществляется подготовка кода драйверов к инструментизации ADIN LLVM pass и последующей сборке в отдельную динамическую библиотеку, которую вы можете использовать в своих проектах

Готовим код драйверов

Практическое руководство по созданию Helm чарта или как избавиться от рутины при работе с YAML манифестами

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

Бывало ли у вас такое, что вы совершали одни и те же действия из раза в раз и наконец-то решили избавиться от всей этой рутины? Но вы решили отложить это решение на некоторое время, в частности из-за занятости или лени. Но вот вы решаете взять себя в руки и всё изменить! Также было и со мной - и вот в конце концов я решился пойти на оптимизацию развертывания сервисов в Kubernetes при помощи Helm и написать об этом статью!

Я уже успел развернуть несколько приложений в Kubernetes. Но в последнее время взаимодействовать с ресурсами через kubectl становится невыносимо больно. Поэтому я решил осуществить свою давнюю затею - написать свой Helm чарт. Сегодня мы вместе с тобой, Хабрюзер, создадим свой чарт, который можно будет использовать для деплоя собственных приложений!

Читать далее

Вышел релиз GitLab 16.4 с настраиваемыми ролями и списком зависимостей для групп

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

Генерация зависимостей внутри программы

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

В программировании программы часто строятся иерархично. Один программный компонент вызывает функции из другого программного компонента. Как бы представить эту взаимосвязь в законченной программе?

Эту задачу можно решить прибегнув к языку Graphviz и утилитам cpp, dot, make, chrome.

Читать далее

Миграция с Webpack и react-scripts на Vite: Путь к Быстрому и Легковесному React

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

Я работаю фронтенд-разработчицей в IT-компании, и многие из моих проектов на протяжении долгого времени собирались с использованием Webpack. Настройка Webpack иногда бывала сложной, но в целом он справлялся с задачей сборки проектов. Однако в последнее время мои коллеги начали восторгаться новым инструментом - Vite. Они рассказывали о его легковесности, быстрой сборке и преимуществах для разработчиков React-приложений. В этой статье я поделюсь своим опытом миграции с Webpack и react-scripts на Vite. Я расскажу о причинах, по которым решила попробовать Vite, а также о том, с какими сложностями пришлось столкнуться и как они были решены.

Читать далее

Делаем свою простейшую систему сборки для Java

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

Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна и решает прикладные задачи. Но иногда внезапно задает такие вопросы, из которых я понимаю, что у него огромные дыры в базовых знаниях и представлениях. На курсах этому, видимо, не учат.

Один из последних вопросов был про устройство сборки, непонимание того как исходный код собирается в исполняемый и запускается. Начинающим обычно говорят в духе «вот создаешь Gradle‑проект, в IDE жмешь кнопочку запуска и все работает». Но как только возникает необходимость что‑то в этом простом процессе усложнить, или понять — начинаются проблемы.

Gradle/Maven при этом представляются таким черным ящиком, в котором есть кнопка сборки и запуска, а внутри — магия, превращающая исходный код в запущенную программу.

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

Читать далее

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

Vite плагин для удобной работы с Web Workers

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

Привет, Хабр! Я участвую в разработке крупного Web приложения и мы с коллегами на этапе проработки и планирования архитектуры пришли к выводу о необходимости выносить всю логику приложения в отдельный поток Web Worker, т.к. предполагается большое число фоновых операций и вычислений. К чему это привело? Сложности? Пути их решения? Обо всем попорядку.

Читать далее

Как ограничить количество выполняющихся задач в Jenkins при вызове parallel: сравниваем решения

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

Недавно передо мной встала задача — есть 250 тестов, каждый из которых занимает от 5 до 30 минут, а иногда и часы. Надо запустить их в параллель на одной машине, но не больше 16 одновременно. Ограничение связано с некоторым лимитированным ресурсом, а также количеством ядер CPU. Реальное число одновременно запущенных задач нужно вычислять динамически, то есть пойти простым путем и зарегистрировать имя или лэйбл ресурса заранее с помощью плагина Lockable Resource не получится.

Читать далее

Варим C с компилятором Zig и его build.zig

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

По случаю выхода версии 0.11.0 языка Zig я решил написать ещё одну статью о языке Zig. В этот раз речь пойдет о системе сборки языка. А точнее, как пользоваться кодом написанным на языке C в проекте на языке Zig, с небольшими ответвлениями в стороны для описания некоторых возможностей системы сборки. Тем более, что она претерпела несколько изменений, о чём я так же коротко упомяну. Эксперименты проводились мной на Windows 11. Стоит сразу упомянуть, что указанные в статье команды будут работать и на других операционных системах. Это одна из особенностей языка Zig. Но пример кода линковки системных библиотек для сборки библиотеки raylib будет платформозависимый, так как для разных платформ набор библиотек отличается. Если интересно, то прошу...

пройти во внутрь

Вышел релиз GitLab 16.2 с новым WYSIWYG-редактором текста

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

Как задеплоить монолитный pet проект на Java с 0 и не сойти с ума… Часть 2

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

Это 2-ая часть статьи "Как задеплоить монолитный pet проект на Java с 0 и не сойти с ума". Первую часть вы можете найти по ссылке.

В первой части мы успешно добавили свои наработки в репозиторий GitHub, в этой части мы рассмотрим что такое GitHub Actions и как с помощью них добавить свой образ docker контейнера с приложением в хранилище DockerHub.

Читать далее

React starter (Webpack + Typescript + Css modules + Jest)

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

Хочу поделиться своим видением сборки для быстрого старта разработки на React.

Помогает быстро запуститься, когда нужно «на скорую» войти в разработку.

Что‑то я подглядел здесь же, на Хабре, к чему‑то пришёл сам, ну и «ангажировал» немного на просторах «необъятного».

Что «под капотом»

Webpack 5
React v.18
Redux (Redux Toolkit)
Typescript
Css modules
Jest
VS Code

Читать далее

Публикуем Android приложения автоматически с помощью Gitlab CI

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

Привет! Я Даша, Android-разработчик в команде онлайн кинотеатра PREMIER.

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

Сегодня разберемся, как автоматически опубликовать приложение в Google Play, Huawei App Gallery и Firebase на примере нашего приложения онлайн-кинотеатра PREMIER. Также расскажу, как мы отправляем сборку в Nexus.

Читать далее

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