Доброго времени суток всем!
У меня возникла след. проблема :
столкнулся с необходимостью написать "скрипт", который бы умел загружать с хранилища VSS последние версии файлов и компилил бы проект!!
Это, вообще, реально?!
И если да — то в каком направлении рыть?
Заранее благодарю за ответы!!
04.12.07 13:02: Перенесено модератором из 'Управление проектами' — IB
Здравствуйте, aaro, Вы писали:
A>столкнулся с необходимостью написать "скрипт", который бы умел загружать с хранилища VSS последние версии файлов и компилил бы проект!! A>Это, вообще, реально?! A>И если да — то в каком направлении рыть?
реально
для получения данных из VSS копать в сторону ss.exe и его параметров командной строки
Здравствуйте, &reY, Вы писали:
Y>реально Y>для получения данных из VSS копать в сторону ss.exe и его параметров командной строки
О, спасибо!!
А может есть ссылочки хорошие, где на эту тему можно почитать?!
Проблема усугубляется тем, что скрипт должен уметь загружать файлы, вообще, в любую папку .. А компилить чем можно7
Здравствуйте, &reY, Вы писали:
A>>Проблема усугубляется тем, что скрипт должен уметь загружать файлы, вообще, в любую папку .. А компилить чем можно7
Y>зависит от того на чём у тебя исходники Y>обычно используют *ant (nant, want) или make или msbuild
Зависит от того чем надо собирать... Главное чтобы эти "сборщики" стояли на машине, где будет запускаться скрипт, или хотя бы была возможность их на ней запустить. Вот сейчас разбираю скрипт, который собирает проект в 3 различных студиях(с++: 6, 2003, 2005; VB6; + чуть Delphi + чуть скриптов для сборки инсталятора в ISDeveloper)
Так что в написании сборочных скриптов надо только желание и упорство, ибо в принципе это вещь простая.
Здравствуйте, aaro, Вы писали:
A>столкнулся с необходимостью написать "скрипт", который бы умел загружать с хранилища VSS последние версии файлов и компилил бы проект!!
А можно не писать скрипт... а сразу поюзать систему сборки, CruiseControl.NET, например.
Здравствуйте, LMars, Вы писали:
LM>А можно не писать скрипт... а сразу поюзать систему сборки, CruiseControl.NET, например.
Вопрос только в том, насколько оптимальней это будет, чем скрипт..
Скрипт запустить любой сможет легко и просто, а изучать CruiseControl.NET, думаю, многим из коллег придётся не по душе.(
Re[5]: скрипт к VSS
От:
Аноним
Дата:
05.12.07 07:42
Оценка:
Здравствуйте, John Grey, Вы писали:
JG>Здравствуйте, &reY, Вы писали:
A>>>Проблема усугубляется тем, что скрипт должен уметь загружать файлы, вообще, в любую папку .. А компилить чем можно7
Y>>зависит от того на чём у тебя исходники Y>>обычно используют *ant (nant, want) или make или msbuild JG>Зависит от того чем надо собирать... Главное чтобы эти "сборщики" стояли на машине, где будет запускаться скрипт, или хотя бы была возможность их на ней запустить. Вот сейчас разбираю скрипт, который собирает проект в 3 различных студиях(с++: 6, 2003, 2005; VB6; + чуть Delphi + чуть скриптов для сборки инсталятора в ISDeveloper) JG>Так что в написании сборочных скриптов надо только желание и упорство, ибо в принципе это вещь простая.
JG>ЗЫ JG>Советую прочитать статью RSDN "Уроки bat'аники"
пасиб!
всё прочитал!!! проект на VC++.net!
чем такой лучше и проще всего собрать?
Здравствуйте, Аноним, Вы писали:
А>пасиб! А>всё прочитал!!! проект на VC++.net! А>чем такой лучше и проще всего собрать?
Да хоть вот так:
>>call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat" >>"C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\devenv.com" "sln_file_path" /BUILD %config% %bldproj% /OUT >>.\_log.txt
%config% — какую конфигурацию собирать Debug или Release.
%bldproj% — какой проект из sln файла рассматривать как основной.
SC>devenv + bat'ник
devenv.com + js-файл. Логика билда имеет тендецию разрастаться, а поддерживать javascript-файлы намного легче чем батники — там хотя бы отладчик есть. ИМХО, конечно.
Здравствуйте, Left2, Вы писали:
SC>>devenv + bat'ник L>devenv.com + js-файл. Логика билда имеет тендецию разрастаться, а поддерживать javascript-файлы намного легче чем батники — там хотя бы отладчик есть. ИМХО, конечно.
Я бы вообще предпочел Ruby.
Здравствуйте, aaro, Вы писали:
A>Скрипт запустить любой сможет легко и просто, а изучать CruiseControl.NET, думаю, многим из коллег придётся не по душе.(
Изучение CruiseControl для коллег может свестись к рассказу о CCTray на 5 минут.
SC>>>devenv + bat'ник L>>devenv.com + js-файл. Логика билда имеет тендецию разрастаться, а поддерживать javascript-файлы намного легче чем батники — там хотя бы отладчик есть. ИМХО, конечно. SC>Я бы вообще предпочел Ruby.
Для кросплатформенных проектов — может быть.
А если всё ограничено Visual Studio — тут у JS преимущество — его за собой таскать не нужно, он всегда в системе есть.
Хотя, если руби знаешь в разы лучше джаваскрипта — то почему бы и нет...
L>Для кросплатформенных проектов — может быть. L>А если всё ограничено Visual Studio — тут у JS преимущество — его за собой таскать не нужно, он всегда в системе есть.
Это да. Хотя играет роль, только если проект распространяется в исходниках. Для проектов, которые компилятся только на машинах девелоперов и билд-сервере вобщем-то без разницы.
L>Хотя, если руби знаешь в разы лучше джаваскрипта — то почему бы и нет...
Ну да, мне просто привычнее, к тому же многие задачи выполняются в разы меньшим объемом кода, который на мой взгляд еще и понятнее.
Здравствуйте, aaro, Вы писали:
A>Здравствуйте, LMars, Вы писали:
LM>>А можно не писать скрипт... а сразу поюзать систему сборки, CruiseControl.NET, например.
A>Вопрос только в том, насколько оптимальней это будет, чем скрипт.. A>Скрипт запустить любой сможет легко и просто, а изучать CruiseControl.NET, думаю, многим из коллег придётся не по душе.(
IMHO оно того стоит.
Введя систему сборки удается навести какой-то "общий порядок", что ли.
Только надо учитывать, что для использования такой системы скорее всего понадобится отдельный компьютер-сервер,
где проект собственно и будет собираться.
С другой стороны VSS же вы где-то держите? Так что сервер наверняка есть..
А "изучать" CruiseControl проидется только тому, кто будет все настраивать (тебе?)
Дальше оно работает "само по себе". То есть кто-то что-то зачекинил в VSS — проект автоматически собрался.
Здравствуйте, John Grey, Вы писали:
JG>Здравствуйте, Аноним, Вы писали:
А>>пасиб! А>>всё прочитал!!! проект на VC++.net! А>>чем такой лучше и проще всего собрать?
JG>Да хоть вот так:
>>>call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat" >>>"C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\devenv.com" "sln_file_path" /BUILD %config% %bldproj% /OUT >>.\_log.txt
JG>%config% — какую конфигурацию собирать Debug или Release. JG>%bldproj% — какой проект из sln файла рассматривать как основной.
А как при использовании devenv задать папку, в которую будет всё компилиться?
Здравствуйте, aaro, Вы писали:
A>А как при использовании devenv задать папку, в которую будет всё компилиться?
А вот какую папку использовать для компиляции уже прописывается в настроках каждого проекта — т.е. надо открыть solution-файл в студии и уже там настраивать. По другому задать куда собирать нельзя(если конечно не изменять файл проектов во время билда), но эти пути могут быть относительны.
Здравствуйте, John Grey, Вы писали:
JG>Здравствуйте, aaro, Вы писали:
A>>А как при использовании devenv задать папку, в которую будет всё компилиться? JG>А вот какую папку использовать для компиляции уже прописывается в настроках каждого проекта — т.е. надо открыть solution-файл в студии и уже там настраивать. По другому задать куда собирать нельзя(если конечно не изменять файл проектов во время билда), но эти пути могут быть относительны.
Может кто знает тогда как это с msbuild делать?
пробовал /property:outDir=С:\Path не помогает.(