2014-04-03 60 views
0

我在使用capistrano在遠程服務器上創建文件時遇到問題。當我試圖創建我的文件時,無論我嘗試什麼,我都會「沒有這樣的文件或目錄」。如果我正確地閱讀了文檔,我應該能夠使用反引號或%x來實現這一目標,但到目前爲止我還無法完成這項工作。如何使用capistrano在遠程服務器上創建文件3.1

想法是,如果文件不存在,我想創建該文件。一切似乎都在努力,直到實際創建文件。

我目前工作的代碼是:

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

決定在本地創建文件,並使用上傳!將文件推送到服務器。我記得有一種叫做'run'的方法,我可以使用它,但是顯然這個方法已經從版本3.1移開。無論哪種方式,我想這是更好或更簡單的方法。 – Vell

回答

0

你可以用「執行」或「須藤」

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