У меня есть задача capistrano, которая объединяет развертывание нескольких этапов проекта Rails.
Например:
task :consolidated_task do
build #creates a new release branch from master,
#sets a variable with the relese branch name
staging
deploy.migrations
production
deploy.migrations
end
Это правильный способ вызвать многоступенчатую задачу из другой задачи ограничения?
Задача сборки создает новую ветку git и публикует ее. Имя новой ветки сохраняется как переменная capistrano. затем задачи промежуточного и производственного этапов используют эту переменную, чтобы указать, из какой ветки развертывать.
Когда эта задача запускается, она терпит неудачу:
fatal: working tree '/Users/<my working directory>' already exists.
/usr/local/lib/ruby/gems/1.8/gems/capistrano-2.5.19/lib/capistrano/recipes/deploy/strategy/copy.rb:99:in `initialize': No such file or directory - /var/folders/3d/3dKYNUwQGOSLZFXsMF-uv++++TM/-Tmp-/20100802182750/REVISION (Errno::ENOENT)
Я отправляю исходный код со своего локального компьютера, поскольку репозиторий git и машина развертывания не могут взаимодействовать друг с другом.