Сведения о вопросе

Getthesound

02:02, 5th August, 2020

Какие цепочки инструментов существуют для непрерывной интеграции с C++?

Просмотров: 504   Ответов: 6

Цепочки инструментов непрерывной интеграции для .NET, Java и других языков относительно хорошо определены, но рынок C++, похоже, имеет большое разнообразие.

Под CI "toolchain" я конкретно подразумеваю инструменты для построения скриптов, автоматизированного тестирования, проверки стандартов кодирования и т. д.

Что команды C++ используют для цепей инструментов CI?



  Сведения об ответе

JUST___

00:51, 19th August, 2020

Мы реализовали нашу кросс-платформенную инфраструктуру непрерывной интеграции C++ с использованием Parabuild

http://www.viewtier.com/products/parabuild/screenshots.htm

Мы смогли интегрировать с ним все виды инструментов Win/Mac/Linux QA, и он действительно прост в установке и обслуживании: это установка в один клик на каждой платформе, а веб-интерфейс очень удобен.

При оценке нескольких серверов непрерывной интеграции основная проблема заключалась в том, что они были Java-предвзятыми: Parabuild, с другой стороны, хорошо вписывается в кросс-платформенную разработку C++ и рабочий процесс QA


  Сведения об ответе

fo_I_K

01:05, 4th August, 2020

Другим вариантом может быть buildbot .

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


  Сведения об ответе

prince

23:45, 5th August, 2020

Visual Build Professional - мой любимый инструмент для объединения всех других инструментов. Windows только, конечно,но он интегрируется со всеми вкусами Visual Studio и множеством тестовых инструментов, средств управления версиями, трекеров проблем и т. д. Но это всего лишь windows. Я знаю, что это не вся стопка, но это только начало.


  Сведения об ответе

FAriza

00:32, 2nd August, 2020

Добрый день,

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

Один парень сел и написал инструменты, в основном скрипты shell, чтобы

  1. проверяйте текущую базу кода каждый час или около того и выполняйте сборку, чтобы проверить, не была ли она нарушена, и
  2. проверьте последнюю хорошую сборку и сделайте полную сборку и запустите около 8000 регрессионных тестов.

Мы просто не могли найти ничего коммерчески доступного, чтобы сделать это, и поэтому Чарли сел и написал это в скриптах bash shell, и это было запущено на HP-UX.

овации, Грабить


  Сведения об ответе

PHPH

05:18, 21st August, 2020

Мы использовали scons для непрерывной интеграции, выполняемой центральным сервером сборки. Некоторые проекты были перенесены в buildbot .

Теперь я вхожу в рейк и рассматриваю решения, описанные в этом блоге . Фаулер упоминает, что ThoughtWorks иногда используют rake для своих сценариев сборки в своей статье о непрерывной интеграции .


  Сведения об ответе

SKY

13:33, 8th August, 2020

Как и, казалось бы, все остальные задачи в C++, я просто едва хромаю вместе с непрерывной интеграцией. Моя настройка начинается с Eclipse. Я поставил его, чтобы генерировать файлы для моих проектов. У меня есть сценарии ant, которые выполняют общие задачи сборки, запустив 'make all' или 'make clean' на соответствующих файлах Makefile. Эти ant скрипты являются частью моего проекта, и я должен обновить их, когда добавляю новую конфигурацию сборки или новую часть в систему. Хотя все не так уж и плохо.

Я использую CruiseControl, чтобы фактически запустить сборки. Каждый проект (все они) имеет свой собственный скрипт ant, который выполняет определенные задачи сборки (копирование артефактов, обработка результатов), вызывая в проект ant скрипт для выполнения сборки.

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

Мне кажется, что CC-это умирающая система, но я не нашел ничего лучше для C++. С другой стороны, я также чувствую, что C++ - это умирающий язык, так что, возможно, это больше, чем просто это.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться