使開發人員啟動新專案或與新團隊合作通常既複雜又耗時。 Microsoft開發箱自定義功能可協助您簡化開發人員環境的設定。 透過自定義,您可以使用必要的應用程式、工具、存放庫、程式代碼連結庫、套件和建置腳本來設定現成程式代碼工作站。
Dev Box 自訂功能讓您:
- 安裝必要的工具和應用程式。
- 強制執行組織安全策略。
- 確保開發方塊之間的一致性。
Dev Box 提供兩種方式來使用自訂化:
- 團隊自訂:用於為開發人員團隊建立標準共用設定,以取代為您的團隊建立多個標準或黃金映像。
- 使用者自定義:開發人員用來建立其個人喜好設定的設定。 透過使用者自定義,開發人員可以將其設定儲存在檔案中,並在建立開發方塊時加以執行。 自訂設定確保所有開發環境的一致性。
| 特徵 / 功能 | 小組自訂 | 使用者自定義 |
|---|---|---|
| 設定開啟 | 開發箱集區 | 開發箱 |
| 自訂套用至 | 集區中的所有開發箱 | 個別開發箱 |
| 輕鬆共用 | 是的 | 否 |
| 自訂設定檔名稱 | imagedefinition.yaml |
myfilename.yaml |
| 源自 | 目錄或個人存放庫 | 上傳或從個人存放庫 |
| 支援金鑰保存庫祕密 | 是的 | 是的 |
什麼是自定義檔案?
開發人員方塊自定義會使用 YAML 格式的檔案,指定開發人員建立開發方塊時,要從開發人員中心或目錄套用的工作清單。 這些工作會識別目錄工作,並提供參數,例如要安裝的軟體名稱。 開發人員可以建立自己的自定義檔案,或使用共用自定義檔案。
您可以在自訂檔案中使用來自 Azure 金鑰儲存庫的秘密來複製私人存放庫。 您也可以將它們與任何需要存取令牌的自定義工作搭配使用。
什麼是任務?
開發箱自訂工作是 PowerShell 指令碼的包裝函式。 您可以使用它們來定義小組可在其自訂中使用的可重複使用元件。 WinGet 和 PowerShell 工作可透過平臺取得。 您可以透過目錄新增新的項目。 登入後,任務可以在系統背景或使用者背景中執行。
- 專案管理員會定義小組自定義,其可以使用自定義和內建工作。
- 只有當使用者是系統管理員,或工作是透過目錄預先核准的自訂工作時,使用者自訂才能使用系統工作。 標準開發方塊用戶無法在系統內容中執行內建 PowerShell 和 WinGet 工作,這可防止許可權提升。
當您建立工作時,請判斷哪些工作需要在系統內容中執行,以及在登入后可在用戶內容中執行哪些工作。
您可以在映像定義檔中同時使用系統任務和使用者任務。 影像定義檔的作業區段分為系統作業和使用者作業區段,它們根據型錄中的作業定義共用相同的參數。
-
系統工作:這些工作會在開發箱的佈建階段期間作為
LocalSystem來執行。 它們通常用於系統級配置,例如安裝軟體或配置需要管理權限的系統設定。 -
使用者工作:這些工作會在使用者第一次登入開發箱之後以使用者身分執行。 它們通常用於使用者層級配置,例如安裝使用者特定的應用程式或在使用者上下文下配置使用者設定。 例如,使用者通常更喜歡在使用者上下文下安裝 Python 和 Visual Studio Code,而不是全系統。 當 WinGet 工作在工作下無法運作時,將其放在
userTasks區段中以獲得更好的結果。
設定使用者自訂項目的標準使用者只能執行使用者任務。 他們無法使用系統工作。
小組自定義與使用者自定義之間的差異
開發箱小組自定義可讓開發人員小組負責人和IT系統管理員預先設定開發箱集區的自定義檔案。 自定義不需要開發人員進行手動設定。
建議您使用小組自定義功能來保護和標準化小組的 Dev Box 部署。 在開發人員小組之間共用常見的 YAML 檔案可能會沒有效率、導致錯誤,並違反合規性政策。
除了小組自定義之外,個別開發人員可以在建立開發方塊來控制開發環境時上傳自定義檔案。 開發人員應該只針對個人設定和應用程式使用個別自定義。
自訂如何運作?
小組自定義和使用者自定義都是 YAML 型檔案,可指定要在建立開發方塊時套用的工作清單。 選取適當的索引標籤,以深入瞭解每種自定義類型的運作方式。
小組自訂如何運作?
您可以使用小組自定義來定義每個開發小組的共用開發箱組態,而不需要投資設定映像解決方案,例如Packer或 Azure 虛擬機 (VM) 映像範本。 小組自定義提供輕量型替代方案,可讓中央平臺工程小組將開發箱組態管理委派給使用它們的小組。
團隊自訂還提供了一種內建方法,可以透過將團隊的開發箱自訂內容扁平化為自訂映像以對其進行最佳化。 您可以使用相同的自定義檔案,而不需要管理新增的基礎結構或維護映像範本。
為您的組織進行 Dev Box 團隊自訂配置需要仔細規劃和深思熟慮的決策。 下圖提供程式的概觀,並醒目提示關鍵決策點。
為團隊自訂設定開發箱
若要設定開發箱以支援小組自定義,請遵循下列步驟:
- 設定您的開發人員中心:
- 啟用專案層級目錄。
- 指派專案管理員的權限。
- "決定是否要使用包含自訂可重複使用元件的目錄"
- 內建 (由平臺提供):
- 使用 PowerShell 或 WinGet 內建工作(從 ~/ 開始)。 我們建議您從內建任務開始。
- 您自己的目錄:
- Azure Repos 或 GitHub 中的主機。
- 新增工作。
- 附加至開發人員中心。
- 內建 (由平臺提供):
- 建立稱為
imagedefinition.yaml的 YAML 自定義檔案。 - 在開發箱集區中指定映像:
- 建立或修改開發箱集區。
- 將指定
imagedefinition.yaml為映像定義。
- 選擇如何使用映像定義:
- 在每次建立開發箱時,執行映像定義中的工作。
- 將您的映像定義優化為自定義映像。
- 使用開發人員入口網站,從設定的集區中建立您的開發箱。
若要深入瞭解小組自定義和撰寫映像定義,請參閱 設定小組自定義。 然後,若要瞭解如何將映像定義優化為自訂映像,請參閱 設定開發人員中心映像。