我的當前設置:如何覆蓋octopus-deploy的超市廚師食譜的tentacle_install_location路徑?
我創建一個食譜在我公司安裝八達通觸角部署到標準的虛擬機。我創建了一個名爲「octopus-deploy-mk6」的新的本地菜譜。 「mk6」是我們公司的名稱,我使用這個配方來定義我公司特定的安裝要求。我已經爲名爲「octopus-deploy」的超市社區食譜添加了Berksshelf依賴項。這裏是一個鏈接到「章魚部署」:
Octopus-deploy supermarket link
我包括通過berksshelf超市菜譜依賴於廚師回購/ metadata.rb文件聲明:
depends 'octopus-deploy', '~> 0.4.3'
而且我在 chef-repo/cookbooks/octopus-deploy-mk6/recipes/default.rb文件(注意,我發現不需要示例中的校驗和)的配方中將它放在下面的配方中:
octopus_deploy_tentacle 'Tentacle' do
action :install
version '3.1.5'
end
當我做「伯克斯安裝」,「伯克斯更新」和「刀菜譜上傳章魚部署-MK6」命令,它會安裝章魚觸鬚部署非常漂亮。配方實際上超出了我的預期。感謝布倫特蒙塔古(如果您恰好閱讀本文)創建食譜。
請隨時讓我知道如果我沒有做這個設置正確的,我對廚師很新。
這裏的問題:
我們安裝八達通部署觸角企業標準是在安裝它:「C:\ Program Files文件(x86)的\八達通\觸鬚」和超市食譜安裝它在「C:\ Program Files \ Octopus Deploy \ Tentacle」。雖然我個人更喜歡超市食譜選擇的目錄名,但是企業標準是將其放入x86目錄和Octopus子目錄中,並且我無法更改標準。 如何覆蓋默認的觸手安裝位置?
這個問題的簡單解決方案是使用「複製和粘貼重用」,並簡單地將整個社區食譜複製到我的章魚部署-mk6食譜中,然後更改下面提到的一個文件。不過,我寧願不這樣做,以便我可以在未來更新超市版本。
這是我到目前爲止已經調試:
我注意到,超市裏社區菜譜已在章魚部署/庫/ tentacle.rb文件下面的代碼:
module OctopusDeploy
# A container to hold the tentacle values instead of attributes
module Tentacle
...
def tentacle_install_location
'C:\Program Files\Octopus Deploy\Tentacle'
end
我嘗試設置在我的廚師回購/ cookbooks /章魚部署-mk6 /食譜/默認。rb文件在安裝操作之前:
OctopusDeploy.Tentacle.tentacle_install_location = 'C:\Program Files (x86)\Octopus\Tentacle'
但它不能解決問題。我也嘗試添加一個屬性到廚師 - repo/cookbooks/octopus-deploy-mk6/attributes/default.rb文件,但它不起作用。根據我的理解,此屬性文件方法僅適用於覆蓋其他食譜設置的屬性(不覆蓋ruby方法/屬性)。
對此的任何幫助表示讚賞。我是Chef的新手,無法在Stackoverflow或Google上找到任何其他帖子來回答這個問題(我可能對Chef和Ruby來說太新了,無法知道要搜索的術語)。
謝謝你coderanger。我會分叉食譜,並提交拉請求。 –