Непрерывная интеграция сборки с SourceSafe и пакетными файлами - PullRequest
3 голосов
/ 29 апреля 2010

Я хочу создать систему интеграции с непрерывной сборкой для .NET, используя только пакетные файлы Windows и Visual Source Safe.

Пока что я создал следующий пакетный файл -

set ssdir=\\xxxx\vss
cd d:\mydir
"C:\Program Files\Microsoft Visual SourceSafe\ss.exe" diff "$/sourcedir" -R -Q > diffout.txt

Это приведет к тому, что файл будет содержать строки, такие как «Файлы SourceSafe, отличные от локальных файлов» после внесения изменений.

Моя задача - выяснить, есть ли эти строки в файле, а затем получить и запустить MSBuild, если они есть. Затем я планировал запускать пакетный файл каждые 10 минут или около того.

У кого-нибудь есть мысли о том, как это сделать? Или какие-либо другие способы непрерывной интеграции сборки без загрузки сложной системы автоматизации сборки?

Обновление: Приятно использовать cscript или powershell, хотя и не очень знаком с этими средами. Моя главная цель - не устанавливать стороннее программное обеспечение

Ответы [ 3 ]

4 голосов
/ 29 апреля 2010

Хадсон не очень сложная вещь для запуска. Даже мне удалось заставить его работать за короткое время.

И пока вы занимаетесь этим, замените SourceSafe ...

3 голосов
/ 29 апреля 2010

cmd.exe - это динозавр. Вот версия PowerShell.

Set-Alias ss 'C:\Program Files\Microsoft Visual SourceSafe\ss.exe'
Set-Alias msbuild 'C:\Windows\Microsoft.Net\Framework64\v3.5\msbuild.exe'

cd d:\mydir

$diffs = ss diff '$/sourcedir' -R -Q

if ($diffs -match 'SourceSafe files different') {
    msbuild blah
}
2 голосов
/ 29 апреля 2010

Написание собственного - хороший способ учиться, но Я бы предположил, что такие вещи, как maven и круиз-контроль, очень легко запустить.

Тем не менее, если бы вы были заинтересованы в написании своих собственных файлов, я бы написал filewatcher , который просматривает файлы в VSS Shadow Folders и затем запускает MSBUILD.

...