2011-03-22 31 views
0

爲了在我的Ubuntu開發機器上安裝capistrano,我在這裏苦苦掙扎,沒有成功。看來我無法安裝無鐵軌的卡皮斯特拉諾。爲什麼是這樣?

這裏發出的命令的列表:

1)sudo易於得到更新

2)命令和apt-get安裝建立必要的git的核心捲曲

3)慶典< < (捲曲http://rvm.beginrescueend.com/releases/rvm-install-head

4)回波 '[[-s 「$ HOME/.rvm /腳本/ RVM」]] & &源 「$ HOME/.rvm /腳本/ RVM」' >>〜/ .bashrc中

5)(關閉並重新打開終端窗口)

6)RVM指出

(找: 「對於紅寶石(MRI & REE),你應該安裝以下操作系統的依賴:」

並做:

7)須藤資質安裝建立必要的野牛OpenSSL的libreadline6 libreadline6-dev的捲曲混帳核心的zlib1g的zlib1g-dev的的libssl-dev的libyaml-dev的libsqlite3-0 libsqlite3-dev的sqlite3的的libxml2-dev的的libxslt-dev的autoconf的的libc6 -dev ncurses-dev

現在我們可以通過做安裝Ruby:

8)RVM安裝1.9.2

然後我們告訴RVM使用它:

9)RVM 1.9.2

而且做到這一點始終:

10)RVM --default使用1.9.2

有R uby正確instaled我們現在可以:

11)創業板安裝Capistrano的

然後:

12)創業板安裝railsless部署

儘管所有這些步驟是成功的步驟,當我這樣做: cap -T

我無法看到按預期列出的部署任務。

我只得到:cap invoke cap外殼

上市。

爲什麼?

我需要Capfile嗎?有一些需要設置?如果是這樣,那麼這是否意味着我們只有在移動項目目錄後才需要發佈或者使用capistrano命令行命令?請指教,我在卡皮斯特拉諾這裏絕對是新手。

非常感謝, MEM

回答

4

是的,你仍然需要一個Capfile。

STEP 1.用下面的命令來創建Capfile,從項目目錄中運行它:

capify . 

(這也將創造的config/deploy.rb)

STEP 2.編輯此新Capfile按照該railsless-deploy readme,使之具有以下內容:

require 'rubygems' 
require 'railsless-deploy' 
load 'config/deploy' 

在這一點上,你可以運行

cap -T 

您應該看到諸如「cap deploy」列出的任務。但是,capistrano對目標服務器等一無所知。

STEP 3.編輯配置/ deploy.rb提供您的SCM的詳細信息,服務器名稱(S)等

如需幫助這一點,看到Capistrano "From The Beginning"維基節「配置」。

如果railsless-deploy提供的默認值不合適,那麼您也可以在此覆蓋部署任務。

的最小配置/ deploy.rb可能如下:

set :user, "myuser" 
set :application, "myapp" 
set :repository, "https://github.com/me/myapprepo" 
set :scm, :git 
default_run_options[:pty] = true 
role :web, "myhost.example.com" 
role :app, "myhost.example.com" 

當然,你必須糾正上面您的應用程序,主機和登錄細節。

然後,您可以遵循

cap deploy:setup 
cap deploy:check 
cap deploy 
# ... etc 

但是典型的路徑,帽部署後:安裝程序創建的deploy目錄樹(默認爲類似/ U /應用程序/ MyApp的/)在遠程服務器上( s),您可能必須更改所有權(或權限)才能運行頂端部署。以下將遞歸地將/ u/apps/myapp /的所有者和組更改爲用戶「myuser」。

sudo chown -R myuser. /u/apps/myapp 

在我們的服務器上,其實我創建這個/ U /應用/目錄,並改變其對服務器的準備所有權(比如,與木偶),Capistrano的看到他們很久以前。這樣,開發人員就可以使用cap deploy:setup和cap deploy等,而不會遇到這些問題。

「這是否意味着我們只有在移動項目目錄後才需要發出命令或命令行命令?」

我不確定我是否理解你的問題的這一部分。如果移動項目目錄,仍然可以執行capistrano命令,但必須始終從項目目錄中執行它們。