一千萬個為什麽

搜索

在不同的環境中管理數據包



嗨,我陷入了一種情況,我有兩個環境Dev和Prod。我需要在產品中傳遞不同的值和不同的值。那麽,如何使用一個數據包管理它。這是我在開發環境中的通用數據包

我在開發環境中使用這個數據包,所以我必須為prod環境傳遞不同的用戶名,密碼和jdbc密碼。我怎樣才能做到這一點?我打算以下面的方式做

{
 "id": "some_data_bag_item",
 "production" : {
 "id":"Databag_item",
 "username": "username",
 "passwd": "****",
 "jdbc_password": "****"
}
 },
  "testing" : {
    "id":"Databag_item",
    "username": "username",
    "passwd": "****",
    "jdbc_password": "****
  }
 }

這是一個正確的方式嗎?我們需要在配方中添加其他任何東西嗎?廚師會自動找出它是哪個環境?

轉載註明原文: 在不同的環境中管理數據包

一共有 1 個回答:

https://www.digitalocean.com/community/tutorials/how-to-use-roles-and-environments-in-chef-to-control-server-configurations

例如,如果一個節點在“生產”環境中,你可以   想要在你的“nginx”食譜中運行一個特殊的食譜來實現這一點   服務器達到生產策略要求。你也可以有一個   nginx食譜中的配方意味著配置特殊的變化   測試服務器。

name "web_server"
description "A role to configure our front-line web servers"
run_list "recipe[apt]", "recipe[nginx]"
env_run_lists "production" => ["recipe[nginx::config_prod]"], "testing" => ["recipe[nginx::config_test]"]