Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Centos 如何使用capistrano 3.1在远程服务器上创建文件_Centos_Capistrano3 - Fatal编程技术网

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

Centos 如何使用capistrano 3.1在远程服务器上创建文件,centos,capistrano3,Centos,Capistrano3,我在使用capistrano在远程服务器上创建文件时遇到问题。当我试图创建我的文件时,无论我尝试什么,我都会说“没有这样的文件或目录”。如果我正确地阅读了文档,我应该能够使用backticks或%x来完成这项工作,但到目前为止,我还无法完成这项工作 想法是,如果文件不存在,我想创建文件。在实际创建文件之前,一切似乎都正常 我目前使用的代码是: on roles(:app) do |host| if capture("ls -1 #{fetch(:rails_conf_root)}").spl

我在使用capistrano在远程服务器上创建文件时遇到问题。当我试图创建我的文件时,无论我尝试什么,我都会说“没有这样的文件或目录”。如果我正确地阅读了文档,我应该能够使用backticks或%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

到目前为止,我还没有幸运地创建此文件,我不确定我缺少了什么才能使其正常工作。

您可以使用“执行”或“sudo”

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

决定在本地创建文件并使用上载!将文件推送到服务器。我记得有一个名为“run”的方法,我本可以使用它,但显然它已经从3.1版移走了。不管怎样,我想这是更好或更容易的方法。