1
我在OpsWorks堆棧中有標準的PHP層。設置爲多個應用程序個性化的Opsworks部署食譜
有兩種應用該層上:
- APP1,在域app1.mydomain.com
- APP2,在域app2.mydomain.com
的應用程序的運行在同一臺服務器上。
我有我的部署食譜git回購。一切正常。
但現在我需要爲每個應用程序個性化部署食譜。
例如:
- 我需要該應用程序「APP1」的文件夾「FOLDER_1」是可寫的777
- 我需要該應用程序「APP2」的文件夾「FOLDER_1」是可讀644
現在,我只有在所有部署的應用程序中運行的配方。我如何個性化我的部署配方以針對不同應用以不同方式運行?
預先感謝您
編輯:我想在這裏做什麼:
node[:deploy].each do |app_name, deploy|
[IF APPLICATION ONE (how can i grab application variable?)]:
script "change_permissions" do
interpreter "bash"
user "root"
cwd "#{deploy[:deploy_to]}/current"
code <<-EOH
chmod -R 777 uploads
mv .htaccess_production .htaccess
EOH
end
[ELSE IF APPLICATION 2]:
script "change_permissions" do
interpreter "bash"
user "root"
cwd "#{deploy[:deploy_to]}/current"
code <<-EOH
chmod -R 755 uploads
rm .htaccess_production
EOH
end
end
謝謝你,我想用這種方式繼續。但我不知道如何採取一個特定的變量來識別我正在部署哪個應用程序,然後我不知道如何實現廚師的「if」聲明。請問你能告訴我最簡單的例子嗎? – Release
你有沒有指定安裝目錄的cookbook屬性?這是找出您正在部署哪個應用程序的一種方法。沒有太多的背景,很難舉例說明。 –
我想我可以通過json環境變量指定屬性。但那麼,我如何使用變量?我添加了應用程序的通用腳本。對不起,我的廚師烹飪書的經驗不足,並提前致謝 – Release