如何使用capistrano 3.1在远程服务器上创建文件

时间:2014-04-03 20:00:05

标签: centos capistrano3

我在使用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

到目前为止,我没有任何运气来创建这个文件,我不知道我错过了什么让它正常工作。

1 个答案:

答案 0 :(得分:0)

你可以使用'执行'或者' sudo'

within fetch(:deploy_to) do 
  execute "echo "I am attempting to create a file for #{fetch(:application}}" > #{fetch(:appliation)}.txt"
end