Обновить
2.9

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

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

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

Вышел релиз GitLab 13.10 с улучшениями для администраторов и управлением уязвимостями

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

Картинка для привлечения внимания


GitLab 13.10 уже доступен! В этом месяце мы сосредоточили наше внимание на масштабируемости и удобстве управления продуктом, чтобы вы могли итерировать и вводить новшества быстрее, безопаснее и с меньшим количеством проблем. Релиз 13.10 предлагает улучшения администрирования для масштабирования DevOps в вашей организации, проверку целостности пакетов для аварийного восстановления с Geo, автоматизацию управления уязвимостями для большей эффективности и согласованности в обеспечении безопасности и, как и всегда, множество фантастических вкладов от нашего обширного сообщества. Это — лишь некоторые из более чем 40 новых фич и улучшений в данном релизе.

Читать дальше →

Сборка (CI/CD) не-JVM проектов с использованием gradle/kotlin

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

В некоторых проектах сборке отводится роль Золушки. Основные усилия команда сосредоточивает на разработке кода. А самой сборкой могут заниматься люди, далёкие от разработки (например, отвечающие за эксплуатацию, либо за развёртывание). Если сборка хоть как-то работает, то её предпочитают не трогать, и речь об оптимизации не заходит. Вместе с тем в больших гетерогенных проектах сборка оказывается достаточно сложной и к ней вполне можно подходить как к самостоятельному проекту. Если же относиться к сборке как к второстепенному проекту, то в результате будет получен неудобоваримый императивный скрипт, поддержка которого будет в значительной степени затруднена.


В предыдущей заметке мы рассмотрели, по каким критериям мы выбирали инструментарий, и почему остановились на gradle/kotlin, а в этой заметке рассмотрим, каким образом используем gradle/kotlin для автоматизации сборки не-JVM проектов. (Есть также перевод на английский.)


CI/CD (opensource.com)


Введение


Gradle для JVM-проектов является общепризнанным инструментом и не нуждается в дополнительных рекомендациях. Для проектов за пределами JVM он также используется. Например, в официальной документации описаны сценарии использования для C++ и Swift проектов. Мы используем gradle для автоматизации сборки, тестирования и развёртывания гетерогенного проекта, включающего модули на node.js, go, terraform.

Читать дальше →

Сборка не JVM-проектов, инструменты

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

В некоторых проектах сборке отводится роль Золушки. Основные усилия команда сосредоточивает на разработке кода. А самой сборкой могут заниматься люди, далёкие от разработки (например, отвечающие за эксплуатацию, либо за развёртывание). Если сборка хоть как-то работает, то её предпочитают не трогать, и речь об оптимизации не заходит. Вместе с тем в больших гетерогенных проектах сборка оказывается достаточно сложной и к ней вполне можно подходить как к самостоятельному проекту. Если же относиться к сборке как к второстепенному проекту, то в результате будет получен неудобоваримый императивный скрипт, поддержка которого будет в значительной степени затруднена.


В этой заметке мы рассмотрим, по каким критериям мы выбирали инструментарий, а в следующей — каким образом этот инструментарий используем. (Есть также перевод на английский.)


CI/CD (opensource.com)

Читать дальше →

C++ с кроссплатформенностью и зависимостями

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

C++ по прежнему используется не только для написания ОС, игр и драйверов, но и для неприхотливых к ресурсам утилит командной строки. Между тем конкуренты на этом поприще, например Rust, предлагают систему сборки c менеджером зависимостей по умолчанию. Для C++ де-факто тоже есть стандартная система сборки CMake, но как подключать внешние библиотеки без боли? Вспомним, что для многих развитых технологий есть нечто вроде странички https://start.yourtechnology.io, создающих базовый стандартный проект, чтобы не тратить время на boilerplate конфигурацию. В этой статье рассматривается именно такой шаблон для создания C++ проектов с менеджером зависимостей vcpkg.

Читать далее

Вышел релиз GitLab 13.9 с панелью оповещений безопасности и режимом обслуживания

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

Картинка для привлечения внимания


GitLab 13.9 уже доступен — с улучшениями DevSecOps, панелью оповещений безопасности для обработки приоритетных уведомлений, режимом обслуживания для постоянной поддержки распределённых команд, улучшенной видимостью, включая расширенную поддержку метрик DORA, а также продвинутыми возможностями автоматизации, которые помогут вам поставлять более качественные продукты быстрее. Это лишь некоторые из более чем 60 новых фич и улучшений в этом релизе.

Читать дальше →

Анонс Vite 2.0

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

Подумайте о предварительно сконфигурированном dev-сервере + сборщик, но более компактном и быстром. Он использует встроенную в браузер поддержку ES модулей и инструменты, такие как esbuild, для быстрого и современного опыта разработки.

Чтобы понять, насколько быстро работает Vite, вот видео сравнение загрузки приложения React на Repl.it с использованием Vite и create-react-app (CRA):

Читать далее

Вышел релиз GitLab 13.8 с редактором конвейеров и первой из метрик DORA

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

Картинка для привлечения внимания


В этом релизе мы рады представить специальный редактор конвейеров (в русской локализации GitLab «сборочные линии»), панель управления частотой развёртываний и несколько улучшений качества работы, которые сделают повседневное использование GitLab ещё более комфортным. И это — всего лишь несколько основных моментов из более чем 50 улучшений этого релиза!

Читать дальше →

Jenkins Pipeline. Что это и как использовать в тестировании

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

Меня зовут Александр Михайлов, я работаю в команде интеграционного тестирования компании ЮMoney.

Наша команда занимается приемочным тестированием. Оно включает в себя прогон и разбор автотестов на критичные бизнес-процессы в тестовой среде, приближенной по конфигурации к продакшену. Еще мы пишем фреймворк, заглушки, сервисы для тестирования — в целом, создаем экосистему для автоматизации тестирования и обучаем ручных тестировщиков автоматизации.

Надеюсь, что эта статья будет интересна как новичкам, так и тем, кто съел собаку в автоматизации тестирования. Мы рассмотрим базовый синтаксис Jenkins Pipeline, разберемся, как создать джобу на основе пайплайна, а также я расскажу про опыт внедрения неочевидной функциональности в CI — запуска и дожатия автотестов по условию.

Читать далее

xUnit тестирование в TeamCity

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

Microsoft активно развивает свои проекты с открытым кодом, например, ASP.NET Core или MSBuild. Вместе с этим набирает популярность и тестовый фреймворк xUnit, используемый в них для модульного тестирования. В этой статье мы рассмотрим несколько способов запуска xUnit-тестов для непрерывной интеграции проекта средствами TeamCity.

Читать дальше →

Вышел релиз GitLab 13.7 с проверяющими для мерж-реквестов и автоматическим откатом при сбое

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

Картинка для привлечения внимания


Ну и год же был 2020! Мы счастливы представить релиз 13.7 с более чем 45 фичами и улучшениями поставки ПО, вышедший как раз к праздникам.


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


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

Читать дальше →

Что есть что в CMake 3.10+ и как это использовать

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

Популярность CMake растёт. Многие крупные проекты переходят с собственных инструментов для сборки на CMake. Проект Conan предлагает интеграцию с CMake для управления зависимостями.

Разработчики CMake активно развивают инструмент и добавляю новые функции, решающие общие проблемы, возникающие при сборке проектов. Переход с CMake 2 на CMake 3 был достаточно болезнен. Документация не покрывает все аспекты использования. Функционал крайне обширен, а возникающие трудности различаются от проекта к проекту. В статье я расскажу о инструментах, которые предлагает CMake 3.10 и выше. В каждой новой версии появляются новые детали или улучшаются старые. Об актуальном состоянии лучше проанализировать Changelog, так как многие улучшения последних версий весьма специфичны для отдельных проектов, как например улучшение поддержки Cuda компиляторов. Я же сфокусируюсь на общих понятиях, которые помогут организовать проект на С++ оптимальным образом с точки зрения использования CMake как основной системы сборки.

CMake предлагает широкий набор инструментов. Чтобы не потеряться, в статье сперва будут определены сущности, через которые будут объяснены конкретные примеры. Названия сущностей я продублирую на английском. Некоторые термины не имеют однозначного перевода в русский язык.

Читать далее

«Нюансы» использования TeamCity

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

Картинка


Всем привет.


Статья написана в простом стиле "DevOps для домохозяек" от таких же домохозяек. В ней будет описано с какими неожиданностями можно столкнуться при настройке проекта в TeamCity. Также приведу рекомендации как эти проблемы можно обойти.


Нижеописанное основано на моём двухлетнем опыте настройке TeamCity сборок, чтению баг репортов и обмене мнений с коллегами по цеху. Не претендую на истину в последней инстанции, так как в работе в основном использовался подход SDD (Stackoverflow Driven Development).

Читать дальше →

Настраиваем Continuous Integration для Jenkins и Bitbucket с werf

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


Утилита werf создана так, чтобы её было легко интегрировать с любыми CI/CD-системами. Подробнее об этом процессе в общем случае читайте в эпилоге этой статьи, но основное её содержимое — практический пример по организации CI в Jenkins и Bitbucket.

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

  1. Shared Library для Jenkins, чтобы все сценарии CI хранились в одном месте и их можно было править единым коммитом.
  2. Интеграцию Jenkins с Bitbucket, чтобы запускать CI по коммиту в определенные ветки или по созданию тега.

Поехали!
Читать дальше →

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

TeamCity 2020.2: вход через OAuth, интеграция с Python, Bitbucket Cloud и JetBrains Space, запуск билдов без агентов

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

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

Пару недель назад мы выпустили второй мажорный релиз TeamCity в этом году. У нас давно не было таких мощных обновлений — под катом я расскажу, что нового появилось в версии 2020.2.

Читать далее

Вышел релиз GitLab 13.6 с автоматическим развёртыванием в EC2 и статистикой использования для инстанса

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

Картинка для привлечения внимания


Команда GitLab стремится к повышению производительности и степени удовлетворённости разработчиков. Релиз 13.6 содержит все необходимые ингредиенты, которые помогут вам достичь этого и, возможно, чего-то ещё! Мы надеемся, что вам пригодятся основные фичи релиза, а также ещё более 60 новых фич и улучшений, добавленных в этом релизе.

Читать дальше →

В начале был “workflow”

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

Добрый день! Меня зовут Кирилл, и я DevOps-инженер. За свою карьеру мне не раз приходилось внедрять DevOps-практики как в существующие, так и в новые команды, поэтому хочу поделиться своим опытом и мыслями по поводу стратегий ветвления. Существует множество различных типов рабочих процессов, и чтобы разобраться что к чему, предлагаю рассмотреть пример создания нового программного продукта. 

Читать далее

Подход к интеграции .NET в TeamCity

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

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

Читать дальше →

Интеграция CI/CD для нескольких сред с Jenkins и Fastlane. Часть 2

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

В преддверии старта курса "iOS Developer. Basic" продолжаем публиковать серию полезных переводов, а также приглашаем записаться на бесплатный демо-урок по теме: "Result Type".

Внедрение технологий непрерывной интеграции (Continuous Integration - CI) и непрерывного развертывания (Continuous Delivery - CD) в процесс разработки - бесспорно единственный способ отслеживать актуальность изменений кода и определять ошибки интеграции на самых ранних этапах. Это также еще и путь к отлаженным билдам, практически сразу же доступным для тестирования и готовым к отправке в продакшн даже после значительных изменений кода.

Интегрируя CI/CD в свою повседневную работу, разработчики могут достичь двух важных целей: во-первых, возможность запускать наборы тестов на сервере, который не является рабочим компьютером, чтобы инженер мог продолжать разрабатывать новый функционал без отвлекающих факторов и, во-вторых, возможность отправлять билды своему заказчику или инженеру по обеспечению качества, чтобы продемонстрировать/протестировать/проанализировать новую фичу, даже если они не могут собрать и запустить проект на своих собственных компьютерах.

Но что происходит, когда у нас есть несколько промежуточных сред, и тесты должны выполняться на разных серверах или функции должны тестироваться в разных средах? Вот где на помощь приходят Jenkins и Fastlane  - инструменты, которые позволяют автоматизировать процесс под различные конфигурации, и именно на этом фокусируется данная статья.

Читать далее

Вышел релиз GitLab 13.5 с обновлениями для безопасности мобильных приложений и вики-страницами групп

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

Вышел релиз GitLab 13.5 со сканированием безопасности мобильных приложений, вики-страницами групп, общим реестром пакетов и многими другими классными фичами!

Читать дальше →

Интеграция CI/CD для нескольких сред с Jenkins и Fastlane. Часть 1

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

Внедрение технологий непрерывной интеграции (Continuous Integration - CI) и непрерывного развертывания (Continuous Delivery - CD) в процесс разработки - бесспорно единственный способ отслеживать актуальность изменений кода и определять ошибки интеграции на самых ранних этапах. Это также еще и путь к отлаженным билдам, практически сразу же доступным для тестирования и готовым к отправке в продакшн даже после значительных изменений кода.

Интегрируя CI/CD в свою повседневную работу, разработчики могут достичь двух важных целей: во-первых, возможность запускать наборы тестов на сервере, который не является рабочим компьютером, чтобы инженер мог продолжать разрабатывать новый функционал без отвлекающих факторов и, во-вторых, возможность отправлять билды своему заказчику или инженеру по обеспечению качества, чтобы продемонстрировать/протестировать/проанализировать новую фичу, даже если они не могут собрать и запустить проект на своих собственных компьютерах.

Но что происходит, когда у нас есть несколько промежуточных сред, и тесты должны выполняться на разных серверах или функции должны тестироваться в разных средах? Вот где на помощь приходят Jenkins и Fastlane  - инструменты, которые позволяют автоматизировать процесс под различные конфигурации, и именно на этом фокусируется данная статья.

Читать далее

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