一千萬個為什麽

搜索

通過application_git cookbook自定義git克隆的部署密鑰和ssh包裝路徑



我使用Chef 12.0.3來管理服務器。之前我使用應用程序cookbook來克隆存儲庫。但是現在在更高版本的應用程序cookbook中,這種支持被轉移到新的cookbook application_git。

問題:

  1. 我想更改部署密鑰的路徑
  2. ssh_wrapper的內容
  3. ssh_wrapper的路徑。

我試過的(當前代碼):

application 'accounts' do
  action :deploy
  path 
  owner 'nobody'
  group 'nogroup'
  git 'name' do
    repository 
    revision 
    deploy_key deploy_key
 end
end 

我無法找到是否需要使用ssh_wrapper_path或ssh_wrapper或deploy_key_path傳遞路徑。一切都失敗了。

目前,我能夠獲得密鑰和包裝,但在錯誤的地方。

轉載註明原文: 通過application_git cookbook自定義git克隆的部署密鑰和ssh包裝路徑

一共有 1 個回答:

從食譜自述文件中引用:

deploy_key - 與git一起使用的SSH密鑰。可以指定為   已創建的密鑰文件的路徑或包含該字符串的字符串值   直接關鍵。

和:

application_git資源從git部署代碼。它擴展了   核心git資源,用於支持部署密鑰和禁用嚴格主機密鑰   驗證

因此,檢查核心git資源文檔

ssh_wrapper ruby Type:String

     

使用git運行SSH時使用的包裝器腳本的路徑。該   GIT_SSH環境變量設置為此。

所以像這樣(未經測試)應該這樣做(使用食譜中的包裝器):

cookbook_file '/path/to/my/desired/ssh_wrapper.sh' do
  source 'my_ssh_wrapper.sh'
end

application 'accounts' do
  action :deploy
  path 
  owner 'nobody'
  group 'nogroup'
  git 'name' do
    repository 
    revision 
    ssh_wrapper '/path/to/my/desired/ssh_wrapper.sh'
    deploy_key deploy_key
 end
end 

您當然可以使用deploy_key執行相同的操作,但使用chef_vault或加密數據庫這樣的內容聽起來更好,以避免在cookbook中提交部署密鑰。