本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以提供一組命令 AWS CodeBuild ,讓 在建置生命週期期間於建置環境中執行 (例如,安裝建置相依性,以及測試和編譯原始程式碼)。有幾種方式可以指定這些命令:
-
建立建置規格檔案,並將其包含在您的來源碼中。在這個檔案中,指定您想在每個建置生命週期階段執行的命令。如需詳細資訊,請參閱 CodeBuild 的建置規格參考。
-
使用 CodeBuild 主控台建立建置專案。在 Insert build commands (插入組建命令) 的 Build commands (組建命令) 中,輸入您想在
build
階段執行的命令。如需詳細資訊,請參閱建立組建專案 (主控台)。 -
使用 CodeBuild 主控台變更建置專案的設定。在 Insert build commands (插入組建命令) 的 Build commands (組建命令) 中,輸入您想在
build
階段執行的命令。如需詳細資訊,請參閱變更建置專案的設定 (主控台)。 -
使用 AWS CLI AWS SDKs建立建置專案或變更建置專案的設定。參考來源碼 (其中包含 Buildspec 檔案與您的命令),或者指定單一字串以包含相同 Buildspec 檔案的內容。如需詳細資訊,請參閱 建立組建專案 或 變更建置專案設定。
-
使用 AWS CLI AWS SDKs啟動組建,指定 buildspec 檔案或包含同等 buildspec 檔案內容的單一字串。如需詳細資訊,請參閱 手動執行組建 中針對
buildspecOverride
值的描述。
您可以指定任何 Shell 命令語言 (sh) 命令。在 buildspec 0.1 版中,CodeBuild 會在建置環境中的個別執行個體中執行每個 Shell 命令。這表示每個命令會與所有其他命令隔離執行。因此,根據預設,如果單一命令倚賴任何之前命令的狀態 (例如,變更目錄或設定環境變數),您就無法加以執行。為因應這個限制,我們建議您使用 0.2 版,它可解決這個問題。如果您必須使用 0.1 版,我們建議以下方法:
-
在您的來源碼中納入 shell 指令碼,以包含您希望在預設 shell 單一執行個體中執行的命令。例如,您可以在來源碼中包含名稱為
my-script.sh
的檔案,以包含cd MyDir; mkdir -p mySubDir; cd mySubDir; pwd;
這類命令。接著,在您的 Buildspec 檔案中,指定./my-script.sh
命令。 -
在您的 Buildspec 檔案或 Build commands (組建命令) 設定 (僅限
build
階段) 中,輸入單一命令,以包含您希望在預設 shell 單一執行個體中執行的所有命令 (例如cd MyDir && mkdir -p mySubDir && cd mySubDir && pwd
)。
如果 CodeBuild 遇到錯誤,與在預設 shell 的自身執行個體中執行單一命令相比,錯誤可能更難進行故障診斷。
在 Windows Server Core 映像中執行的命令會使用 PowerShell shell。