本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
技術指南儲存庫
重要
所以此 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請聯絡 AWS Support 團隊上 AWS Re: 郵寄
您的自訂技術指南必須存放在線上儲存庫,如 .zip 檔案的封存或如 Git 的來源控制管理員。堆疊只能有一個自訂技術指南儲存庫,但儲存庫可以包含任意數目的技術指南。當您安裝或更新食譜時, AWS OpsWorks Stacks 會將整個儲存庫安裝在每個堆疊的執行個體上的本機快取中。例如,當執行個體需要執行一或多個配方時,會使用來自本機快取的程式碼。
下列說明如何建構您的技術指南儲存庫,這取決於類型。圖中的斜體文字代表使用者定義的目錄和檔案名稱,包括儲存庫或封存名稱。
- 來源控制管理員
-
AWS OpsWorks 堆棧支持以下源代碼控制管理器:
-
堆棧-Git 和顛覆
-
視窗堆疊 — Git
下列顯示所需的目錄和檔案結構:
-
技術指南目錄必須全在最上層。
-
- 存檔
-
AWS OpsWorks 堆棧支持以下存檔:
-
Linux 堆棧 — 存儲在 Amazon S3 或網站(存檔)上的壓縮文件,gzip,bzip2 或壓縮包文件。HTTP
AWS OpsWorks 堆棧不支持未壓縮的壓縮包。
-
視窗堆疊 — 壓縮和 tgz (gzip 壓縮的 tar) 檔案,存放在 Amazon S3 上。
下列顯示所需的目錄和檔案結構,這取決於您執行的是 Linux 或 Windows 堆疊。食譜結構與SCM存儲庫相同,因此它由省略號(...)表示。
-
Linux 堆疊 — 食譜目錄必須包含在根目錄中。
-
Windows 堆疊 — 食譜必須位於封存檔的最上層。
如果您只有一個技術指南,您可以選擇略過技術指南目錄,將技術指南檔案放在最上層。在這種情況下, AWS OpsWorks 堆棧從元數據 .rb 獲取食譜名稱。
-
每個技術指南目錄最少有下列標準目錄和檔案之一,一般全都有,它們必須使用標準名稱:
-
attributes
— 食譜的屬性文件。 -
recipes
— 食譜的食譜文件. -
templates
-食譜的模板文件。 -
other
— 包含其他檔案類型 (例如定義或規格) 的選擇性使用者定義目錄。 -
metadata.rb
— 食譜的元數據.針對 Chef 11.10 和更新版本,如果您的配方依賴其他技術指南,您必須在您技術指南的
metadata.rb
檔案中包含對應的depends
陳述式。例如,若您的技術指南包含具有如include_recipe anothercookbook::somerecipe
陳述式的配方,則您技術指南的metadata.rb
檔案就必須包含下列內容:depends "anothercookbook"
。如需詳細資訊,請參閱 About Cookbook Metadata。
範本必須在 templates
目錄的子目錄中,此目錄至少包含一或多個子目錄。這些子目錄也可以有子目錄。
-
範本通常有一個
default
子目錄,包含 Chef 預設使用的範本檔案。 -
「其他」代表可用於操作系統專屬範本的選用子目錄。
-
根據 File Specificity
中所述的命名慣例,Chef 會自動使用來自適當子目錄的範本。例如,在 Amazon Linux 和 Ubuntu 作業系統,您可以將作業系統專屬範本分別放在名為 amazon
或ubuntu
的子目錄中。
如何處理自訂技術指南的詳細資訊,取決於您慣用的儲存庫類型。
使用封存
-
使用上述章節顯示的資料夾結構實作您的技術指南。
-
建立壓縮存檔並將其上傳到 Amazon S3 儲存貯體或網站。
如果您更新技術指南,您必須建立和上傳新的封存檔案。傳遞至 Amazon S3 儲存貯體的內容可能包含客戶內容。如需移除敏感資料的詳細資訊,請參閱如何清空 S3 儲存貯體?或如何刪除 S3 儲存貯體?。
若要使用 SCM
-
使用前文顯示的結構設定 Git 或 Subversion 儲存庫。
-
或者,使用儲存庫的版本控制功能來實作多個分支或版本。
如果您更新食譜,則可以在新分支中執行此操作,並直 OpsWorks 接使用新版本。您也可以指定特定的標記版本。如需詳細資訊,請參閱 指定自訂技術指南儲存庫。
安裝自訂技術指南描述如何擁有 AWS OpsWorks 堆棧將您的食譜存儲庫安裝在堆棧的實例上。
重要
更新儲存庫中現有的食譜之後,您必須執行update_cookbooks
堆疊命令來指導 AWS OpsWorks 堆疊以更新每個線上執行個體的本機快取。如需詳細資訊,請參閱執行堆疊命令。