Rexxer

Some tips for me and other

Установка CruiseControl.NET для автобилда

Исходные данные: Win2k3R2 with IIS.

1. Устанавливаем Visual Studio 2008 SP1.

2. Устанавливаем необходимые SDK.

3. Устанавливаем Collabnet SVN client only.

4. Устанавливаем CruiseControl.NET.

5. Настраиваем IIS:

  • Открываем IIS Manager, создаем New Web Site по правой клавише на Web Sites.
  • Запустится визард.
  • Жмем Next, вводим имя сайта CCNet (например) и жмем Next, далее снова Next, если ставим все по-умолчанию (порт, заголовок и т.п.).
  • Выбираем C:%ProgramFiles%CruiseControl.NETwebdashboard как рабочуб директорию нашего сайта и жмем Next.
  • Ставим галочки ‘Read’ и ‘Run scripts’, и жмем Next. Веб-сайт будет создан.

6. Переходим в папку C:%ProgramFiles%CruiseControl.NETserver и редактируем файл ccnet.conf, приводим его к след виду:

<cruisecontrol>

<project name=”AMP3″>

<webURL>http://192.168.1.166:80</webURL> <!– Адрес и порт нашего вебсервера, настроенного в п.5 –>

<workingDirectory>C:ProjectsAMP3Working</workingDirectory> <!– Рабочий каталог проекта, сюда будут вытягиваться сырцы из СВН и строиться билды –>

<artifactDirectory>C:ProjectsAMP3Artifact</artifactDirectory> <!– Каталог для логов –>

<sourcecontrol type=”svn”> <!– Секция для СВН –>

<trunkUrl>svn://192.168.1.26/AMP3/trunk/AmazonMP3</trunkUrl> <!– Собственно, линк к исходникам –>

<workingDirectory>C:ProjectsAMP3Working</workingDirectory> <!– Сырцы класть сюда –>

<username>user</username>

<password>password</password>

<autoGetSource>true</autoGetSource> <!– Автоматически получать сырцы –>

<executable>C:Program FilesCollabNetSubversion Clientsvn.exe</executable> <!– Путь к файлу-клиенту СВН –>

</sourcecontrol>

<triggers>

<intervalTrigger seconds=”60″/> <!– Интервал для проверки изменений в СВН и последующих действий –>

</triggers>

<tasks>

<devenv> <!– Секция для запуска процедуры сборки –>

<solutionfile>AMP3.sln</solutionfile> <!– Файл описания проекта, обычно лежит в корне рабочей папки и вытягивается из СВН как и все остальное –>

<configuration>Debug</configuration>

<buildtype>Build</buildtype>

<project>AMP3</project> <!– Имя проекта должно совпадать с именем проекта в файле описания, solution –>

<executable>C:Program FilesMicrosoft Visual Studio 9.0Common7IDEdevenv.com</executable> <!– Путь к компилятору –>

<buildTimeoutSeconds>600</buildTimeoutSeconds> <!– Время на сборку –>

<version>VS2008</version>

</devenv>

</tasks>

</project>

</cruisecontrol>

P.S.: Для второго проекта нужно было запускать батники для сборки, поэтому в конфиг позже были добавлены такие строки:

<project name=”P2″>
<webURL>http://192.168.1.166:80</webURL>
<workingDirectory>C:ProjectsP2Working</workingDirectory>
<artifactDirectory>C:ProjectsP2Artifact</artifactDirectory>
<sourcecontrol type=”svn”>
<trunkUrl>svn://192.168.1.2/P2/Inner_build</trunkUrl>
<workingDirectory>C:ProjectsP2Working</workingDirectory>
<username>p2</username>
<password>p2</password>
<autoGetSource>true</autoGetSource>
<executable>C:Program FilesCollabNetSubversion Clientsvn.exe</executable>
</sourcecontrol>
<triggers>
<intervalTrigger seconds=”60″/>
</triggers>
<prebuild>
<exec>
<baseDirectory>C:ProjectsP2WorkingInner_buildUtils</baseDirectory>
<executable>C:ProjectsP2WorkingInner_buildUtilscopy_all_headers.bat</executable>
</exec>
</prebuild>
<tasks>
<exec>
<baseDirectory>C:ProjectsP2WorkingInner_buildAutoBuild</baseDirectory>
<executable>C:ProjectsP2WorkingInner_buildAutoBuildbuild.bat</executable>
<buildTimeoutSeconds>3600</buildTimeoutSeconds>
</exec>
</tasks>
</project>

7. Для проверки работоспособности запускаем сначала консольный вариант сервера ccnet.exe.

Если что-то не так, – напишет соответствующее сообщение. Если все ОК – services.msc – ставим службе CruiseControl автоматичесий запуск.

8. Используемые ссылки:

http://confluence.public.thoughtworks.org/display/CCNET/Visual+Studio+Task

http://confluence.public.thoughtworks.org/display/CCNET/Task+And+Publisher+Blocks

http://confluence.public.thoughtworks.org/display/CCNET/Email+Publisher

http://confluence.public.thoughtworks.org/display/CCNET/Build+Publisher

http://confluence.public.thoughtworks.org/display/CCNET/Subversion+Source+Control+Block

http://wiki.agiledev.ru/doku.php?id=automation:build_package_deploy

http://ilmatte.wordpress.com/2008/06/01/cruisecontrolnet-tutorial-part-1/#ccnettutinstallccnet

http://elegantcode.com/2009/02/10/getting-cruisecontrolnet-working-with-svn-over-https/

http://weblogs.asp.net/jdanforth/pages/How-to-Hook-Up-a-VS.NET-2005-Solution-With-CruiseControl.NET-in-a-Few-Minutes.aspx

https://oss.werkbold.de/trac-cc

https://oss.werkbold.de/trac-cc/wiki/CruiseControlSection

9. Скриншоты:


Leave a Reply