2015-09-01 42 views
0

我有一個任務可以在部署階段或生產階段運行。理想情況下,我想通過一些參數來完成任務,具體取決於我是部署到生產還是部署。從cap staging deploy或cap production deploy中獲取環境

這些任務在lib/capistrano/tasks/之內。

.rake文件中如何訪問該環境,以便我可以確定需要設置的標誌。

我沒有問題設置標誌只是不知道我如何訪問環境。

如果有人能幫助它,將非常感激。

+0

當你說「環境」時,你的意思是:Capistrano env(dev/stage/prod),Rails環境,環境變量,還有其他什麼? –

+0

當我說環境的時候,我的意思是說,例如,在運行cap staging部署時,它就是暫存或生產。在這種情況下,它將暫存,但在我的任務ID喜歡取回。 – DMH

+0

這是Capistrano任務還是掠奪任務Capistrano正在調用? –

回答

1

根據您如何調用Rake任務,您應該能夠根據fetch(:stage)的值設置環境變量。例如,如下所示:

run "APP_ENV=#{fetch(:stage)} bundle exec rake my:task" 

上述代碼未經測試,但基本上應該是您要查找的內容。

+0

不幸的是,不使用Rails及其本地dev,這意味着爲每個變量設置一個env變量會有問題,並且知道它設置了哪個變量。 – DMH

+0

你是什麼意思的本地開發? –

+0

對不起,我的意思是,每次我希望它是生產或分期我需要編輯我的本地計算機上的環境變量,因爲這是capistrano任務運行的地方。 – DMH

相關問題