Как Вы встаете и работающий с сервером сборки?

git просто воспроизводит коммиты из X на FB?

blockquote>

Да.

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

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

14
задан Benny 12 March 2012 в 10:08
поделиться

12 ответов

Можно запустить путем изучения Круиз-контроля.

Существует также CruiseControl.net, если это - Ваш яд.

По существу, хотя, Вам нужны следующие компоненты:

  • Выделенная среда (Виртуальная машина / сервер. Не используйте машину разработчика, если это не просто Вы. Даже затем выполните VM, если Вы можете. Намного легче переместить его в сервер, когда/если каждый становится доступным в Вашей организации),
  • Система управления исходным кодом, которую поддержки маркировали/отметили изменениями (например, Subversion+TortoiseSVN)
  • Сценарии сборки. Они могут быть batchfiles, которые запускают приложения devenv.exe или msbuild.exe с командной строкой, или можно использовать что-то как Муравей или NAnt.

В этом сценарии, действиях CruiseControl как Сервер интеграции Continous, и может удостовериться, что у Вас есть сборки, сделанные, поскольку Вы регистрируетесь в своем коде. Это означает, что Вы знаете, повреждается ли сборка более быстрая, чем если бы у Вас просто были ночные сборки. У Вас должны, вероятно, также быть ночные сборки, все же.

12
ответ дан 1 December 2019 в 10:19
поделиться

Гудзоном является большой CI.

Мы выполняем ферму локально, но мы запустили путем загрузки hudson.war и выполнение

Java - банка hudson.war

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

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

Наслаждайтесь им, большая часть простого решения CI до сих пор.

HTH, Hubert.

4
ответ дан 1 December 2019 в 10:19
поделиться

При использовании Круиз-контроля место для запуска является Муравьем build.xml, который делает задание вручную.

Вам нужна система управления версиями, которая может сделать маркированный контроль.

Вам нужны тесты JUnit, чтобы выполнить использование задачи Ant и генерировать отчеты HTML.

2
ответ дан 1 December 2019 в 10:19
поделиться

В идентификаторе говорится, что необходимо было бы запустить путем реализации стратегии сборки, таким образом, можно создать код структурированным способом - я использую NANT.

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

После того как Вы собираетесь, основная сборка - добавляют выполнение Ваших модульных тестов после успешно сборка.

Самая успешная система, которую я имел в распоряжении, имела 3 различных сборки:-та, которая стреляла в регистрацию - все это сделало был создать код. - по требованию тот, который создал бы приложение, генерирует установщик и затем поместил установщик в общий диск для тестеров для взятия - ежедневная сборка, которая стреляла в 22:00. Это: - выполнил некоторую генерацию кода для создания DB, и код C# из модели UML - создают код - создал нового пользователя верификации сборки на тестовом экземпляре оракула - работал, схема приложения в дб - исчерпала набор модульных тестов - очистил пользователя дб (если тесты были успешны) - выполнил анализ покрытия для создания сообщения о покрытии кода единицы

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

2
ответ дан 1 December 2019 в 10:19
поделиться

Запустите при наличии чтения превосходной статьи Martin Fowler о Непрерывной Интеграции.

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

HTH

удачи,

Ограбить

2
ответ дан 1 December 2019 в 10:19
поделиться

Я не мог дать Вам все подробности о том, как мы настраиваем наш сервер сборки (я был только вовлечен в запуске), но:

  1. Мы запустили с внутренней системы, реализованной в ASP.NET и службе Windows.NET, с помощью NAnt, чтобы сделать фактические сборки. На самом деле большая часть рабочего процесса была реализована в NAnt (например, люди пользования электронной почтой, копирование материала вокруг, и т.д.).
  2. Мы переместились в JetBrains TeamCity (существует бесплатная доступная усеченная версия), который все еще служит нам хорошо.

Мы используем его для сборок, инициированных фиксацией: они просто создают двоичные файлы и выполняют модульные тесты. Отсюда, мы можем сделать полную сборку, которая делает MSI также. Оттуда, у нас есть сборки тестирования системы, которые запускают больше всесторонних тестов, через среду, созданную с виртуальными машинами (с отдельным контроллером домена, полем SQL Server, и т.д.). Когда тестирование системы передает, сборка сделана доступной для нашего отдела QA по ручному тестированию и некоторым регрессионным тестам, которые мы еще не автоматизировали.

0
ответ дан 1 December 2019 в 10:19
поделиться

Круиз, Знаток, Гудзон и т.д. является всем великим, но, который всегда стоит иметь временное решение.

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

Спецификация машины сборки не должна быть важной, если у Вас нет проекта монстра. Мы пытаемся подавить наше время изготовления к 10 минутам (включая модульные тесты), и у нас есть довольно большой проект.

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

2
ответ дан 1 December 2019 в 10:19
поделиться

Я использую Cruisecontrol.NET и msbuild buildscript.

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

Рядом с этим мой CruiseControl.NET buildserver использует этот buildscript также. Это проверяет равный интервал, если были изменения, согласился на управление исходным кодом.
Если это происходит, CC.NET работает, 'добираются - последняя' задача, которую я определил в buildscript, сборки все, выполняет модульные тесты и выполняет статический анализ кода (fxcop).

Мой 'buildserver' является просто старой рабочей станцией. Это - PIV, 3 ГГц с 1 ГБ RAM, и это делает свое задание отлично.

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

Я думаю, что это - хорошее место для запуска: [http://confluence.public.thoughtworks.org/display/CC/Home;jsessionid=5201DA7E8D361EB164C40E519DA0F0DE] [1]

По крайней мере, это - то, где я начал смотреть при установке моего сервера сборки.:)

[1]: Дом CruiseControl

1
ответ дан 1 December 2019 в 10:19
поделиться

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

0
ответ дан 1 December 2019 в 10:19
поделиться

Попробуйте и найдите что-то, что согласуется с Вашими существующими методами с точки зрения создания - например, это не будет хорошей подгонкой к попытке, и используйте Основанный на муравье buildserver при использовании Знатока, например!

Идеально, это должно просто смочь контролировать Вашу систему управления исходным кодом, контроль код, сборка, запустить некоторые тесты и опубликовать результаты без Вас являющийся знающим об этом, или по крайней мере не, 'пока это не сообщает об отказе. Лично, я предложил бы Гудзон (https://hudson.dev.java.net/) как хорошая начальная точка, поскольку это легко быть установленным и выполнение и имеет достойный UI.

0
ответ дан 1 December 2019 в 10:19
поделиться

Roughly in order - minimal/least sophisticated through more sophisticated

  • able to get a specific set of source onto any machine
  • able to build that source (with no problems)
  • able to (schedule) build each night/or some other defined period with no user intervention
  • One (or more) dedicated build server (not shared as qa or dev machine)
  • able to do a build after each check-in/commit
  • Notify interested parties of the build status after a build
  • Provide build status at any time
  • Create installers as part of the build
  • ability to deploy/live if build is good
  • Run unit tests
  • Run tests on the product
  • Report the results of those tests
  • Static code analysis and reporting ... И этот список можно продолжать и продолжать

Не бойтесь начать с командных файлов, сценариев оболочки или других специальных средств. Люди делали совершенно хорошее программное обеспечение до повального увлечения CI. до Hudson и Cruise Control было много хороших процессов - (я не отбиваю тех или иных - я использую Hudson среди других) - но не упускайте из виду главное - эти вещи здесь, чтобы помочь вам - а не стать властным процессом)

1
ответ дан 1 December 2019 в 10:19
поделиться

We start by writing batch scripts that will run on the developers machine. Once we have all the processes automated, we move them to the build server.

On the tools side we are currently moving from Cruise Control to TFS.

0
ответ дан 1 December 2019 в 10:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: