2014-04-21 43 views
0

我確定有一個簡單的答案。我們的程序是一個可執行的jar文件,我們有一個shell腳本包裝器。如何在OpsWorks中運行獨立程序?

  • OpsWorks從S3
  • 抓住分佈zip文件
  • 我們試圖解壓這一點,運行位於bin/run_server.sh

腳本文件目前我下來編寫自定義部署的路徑它的配方,運行在「其他」類型的層上。

這裏是我的嘗試:

include_recipe 'deploy' 

node[:deploy].each do |application, deploy| 

    # assume the zip file has been extracted at this point, 
    # and the CWD is the extracted contents 
    execute "run the server" do 
     command 'bash bin/run_server.sh' 
     action :run 
    end 
end 

這失敗聲稱它找不到bin/run_server.sh

在此先感謝。

回答

0

您是否嘗試過明確設置cwd?

execute "run the server" do 
    command 'bash bin/run_server.sh' 
    cwd "/path/to/your/stuff" 
end 
+0

我不知道zip文件的下載位置。我對該實例進行了ssh編輯,無法找到它的任何痕跡或其內容。 – Joe

+0

它應該在node [:deploy] [application] [:deploy_to]中,但可能因爲使用自定義圖層而缺少部署步驟。你能分享關於你的自定義配方設置和應用配置的更多細節嗎? – avout

+0

我認爲發生的事情是設置包含部署步驟,但應用程序尚未部署。我認爲爲了達到預期的效果,我需要爲我的應用程序本身添加一個部署掛鉤,以便廚師一收到應用程序代碼就立即運行它,而不是在安裝時運行它。 – Joe

相關問題