Pull to refresh

Comments 12

Вы уверены, что людям, которым стоит начать работать по CI-методологии, нужно по пунктам расписывать, куда кликнуть, чтобы сделать HelloWorld-проект?
Я уверен, что начинать учиться писать модульные тесты нужно как можно раньше. Лучше сразу после того, как напишут isLeap. А если уж начали писать модульные тесты, то настоятельно рекомендуется и организовать CI. А если взялись за CI, то нужна автоматизация сборки. А создание вручную makefile процесс трудоемкий (я вот не напишу). А значит надо использовать какую-то IDE, которая сможет подходящий makefile сгенерировать. Такая нашлась одна — Netbeans. А вдруг раньше человек пользовался исключительно Anjuta, vim или Turbo C 2.0? :) Значит надо и базовые сведения о Netbeans.
Может быть создание HelloWorld проекта и не нужно бы расписывать пошагово и с картинками, но раз уж я взялся описать по шагам все, то и это тоже.
Вообще CI никак не связан с модульными тестами, это вы сами себе придумали что «связано». Тот же Jenkins очень хорош помимо сборки самой, для именно _постоянной_ сборки, когда работа над проектом происходит распределенно в несколько групп разработчиков, к тому же у самого Jenkins есть куча плагинов (я его для с php использую). Да и сам Jenkins мало знать на уровне «кликов», нужно нормально почитать мануал и примеры Ant, и того какие таски уже есть, а то сделают сборку тупо из вызовов команд из шела :S
А я побаивался подбираться к этому зверю. Теперь пойду сервер настраивать.
Эх, текста много, а полезного для себя не нашел :(
А что ожидали найти?
Ну на пример, какие выхлопы каких тестовых фраемворков понимает Jenkins. Может быть какие то особенности в эксплуатации. У самого просто еще руки до этого не дошли (а может и не дойдут), а увидеть «как у других» и «что можно» хотелось бы.
> Ну на пример, какие выхлопы каких тестовых фраемворков понимает Jenkins.
Легко отвечу на этот вопрос. Jenkins понимает только JUnit. А вот плагин xUnit, который я здесь использую, понимает:
* JUnit itself
* AUnit
* MSTest (imported from MSTest Plugin)
* NUnit (imported form NUnit Plugin)
* UnitTest++
* Boost Test Library
* PHPUnit
* Free Pascal Unit
* CppUnit
* MbUnit

Это можно увидеть, когда Вы в первый раз конфигурируете сборку с использованием xUnit.

А также есть расширения xUnit с поддержкой дополнительных форматов:
* Gallio (Gallio plugin)
* Parasoft C++Test tool(Cpptest Plugin)
* JSUnit (JSUnit Plugin)
* JBehave

> Может быть какие то особенности в эксплуатации.
Поскольку все таки это тьюториал здесь нет информации про то, что может, чего не может. Это немного не тот формат. Здесь есть информация ровно о том, как заставить его прогонять C++ модульные тесты.

Ну а что он (Jenkins) может могу сказать с изрядной долей уверенности: ВСЕ! Просто большая часть функциональности вынесена в плагины. Посмотрите список плагинов.

Как Вам, например, такой «экзотический» плагин:
AWS Cloudformation Plugin — A plugin that allows for the creation of cloud formation stacks before running the build and the deletion of them after the build is completed.

Да, Jenkins намного больше, чем просто сервер для прогона модульных тестов, в котором качестве я его использую в этом тьюториале. Но я и не пытался рассказать про все возможные кейсы его использования. Ровно про один. С которого можно начать С++ разработчику. А про остальные кейзы можно прочитать другие статьи. Статей по Jenkins на хабре много.
Подхватывает ли xUnit выхлоп BoostTest в консоль? Или нужно в файл?
Пробовали GTest подключать?
Для xUnit нужен файл. Консоль подхватывать не умеет.
BoostTest и GTest не пользовал, подробности рассказать не могу.
Лучше перенесите все изображения на habrastorage.org. Так как-то спокойней. А то откроешь статью, эдак, годика через 2, а у нее ни одной картинки нет. Считайте это заботой о будущих поколениях.

Вас не смущает, что в Jenkins надо каждый Job вручную мышкой конфигурировать?

Причем если надо переходить на другой(еще один) физический сервер, то все заново надо настраивать.

Sign up to leave a comment.

Articles