我在使用capistrano在远程服务器上创建文件时遇到问题。当我尝试创建我的文件时,无论我尝试什么,我都“没有这样的文件或目录”。如果我正确阅读文档,我应该能够使用反引号或%x来完成此操作,但到目前为止我还没能完成这项工作。
这个想法是,如果文件不存在,我想创建该文件。在实际创建文件之前,一切似乎都有效。
我目前正在处理的代码是:
on roles(:app) do |host|
if capture("ls -1 #{fetch(:rails_conf_root)}").split("\n").include?("#{fetch(:application)}.conf")
info "#{fetch(:application)}.conf already exists"
else
info "#{fetch(:application)}.conf does not exist"
`sudo echo "I am attempting to create a file for #{fetch(:application}}" > /home/deploy/#{fetch(:appliation)}.txt`
end
到目前为止,我没有任何运气来创建这个文件,我不知道我错过了什么让它正常工作。
答案 0 :(得分:0)
你可以使用'执行'或者' sudo'
within fetch(:deploy_to) do
execute "echo "I am attempting to create a file for #{fetch(:application}}" > #{fetch(:appliation)}.txt"
end