

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 開發環境
<a name="development-environment"></a>

*開發環境*是開發人員將其程式碼整合在一起的地方，以確保所有程式碼都作為一個凝聚性應用程式運作。在 Gitflow 中，開發環境包含合併請求包含的最新功能，並準備好發佈。在 GitHub Flow 和 Trunk 策略中，開發環境被視為測試環境，而且程式碼基底可能不穩定且不適合部署到生產環境。

## 存取
<a name="access"></a>

根據最低權限原則指派許可。*最低權限*是授予執行任務所需的最低許可的安全最佳實務。開發人員對開發環境的存取應該比對沙盒環境的存取少。

## 建置步驟
<a name="build-steps"></a>

對`develop`分支 (Gitflow) 或`main`分支 (Trunk 或 GitHub Flow) 建立合併請求會自動啟動建置。

1. 使用 [git-secrets](https://github.com/awslabs/git-secrets) (GitHub) 掃描敏感資訊

1. 填入原始碼

1. 如果適用，請建置和編譯原始程式碼

1. 執行單位測試

1. 執行程式碼涵蓋範圍分析

1. 執行靜態程式碼分析

1. 建置 IaC

1. 執行 IaC 安全分析

1. 擷取開放原始碼授權

## 部署步驟
<a name="deployment-steps"></a>

如果您使用的是 Gitflow 模型，則在開發環境中成功建置`develop`分支時，部署步驟會自動啟動。如果您使用的是 GitHub Flow 模型或主體模型，則當針對`main`分支建立合併請求時，部署步驟會自動啟動。以下是開發環境中的部署步驟：

1. 從建置步驟下載已發佈的成品

1. 執行資料庫版本控制

1. 執行 IaC 部署

1. 執行整合測試

## 移至測試環境之前的期望
<a name="expectations-before-moving-to-the-testing-environment"></a>
+ 在開發環境中成功建置和部署`develop`分支 (Gitflow) 或`main`分支 (Trunk 或 GitHub Flow)
+ 單位測試以 100% 通過
+ 成功的 IaC 建置
+ 已成功建立部署成品
+ 開發人員已執行手動驗證，以確認功能如預期般運作