2009-07-24 3 views
1

, когда CruiseControl.rb хочет выполнить интеграционный тест, он ищет задачу рейка, называемую «круиз» в проекте, и выполняет ее.CruiseControl.rb: выполнение задачи круиз-рейка с текущей версией как параметр

Есть ли способ передать текущий номер версии этой задаче? После развертывания приложения я развертываю приложение с помощью capistrano на удаленной машине. Поскольку capistrano будет развертывать ревизию HEAD, если не будет проведена специальная ревизия, я хотел бы сказать ей использовать последнюю проверенную ревизию cc.rb ...

любые идеи?

ответ

1

rake cruise работает в каталоге, содержащем чек. Если ваш источник управления git, извлечение ревизии тривиально.

IO.popen('git log -1|grep -i \'^commit\ \'').read.split[1] 

круиз работает в кассе, которая соответствует ревизию, которую вы попросили строить, а не голова, поэтому редакция журнала сообщила купить мерзавец должен быть точным.

Удачи вам!

0

Ответ на этот вопрос должен быть хорошим, но если вы используете Subversion, вы должны выполнить команду svnversion, чтобы вместо этого получить номер версии.

2

Если вам нужно пересмотреть CC.rb вы можете сделать это следующим образом:

desc 'Cruise' 
task :curise do 
    puts "Building revision #{ENV['CC_BUILD_REVISION']} from #{File.dirname(__FILE__)}" 
end 
Смежные вопросы