

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

# 安裝 CodeDeploy 代理程式
<a name="codedeploy-agent-operations-install"></a>

若要在 EC2 執行個體或內部部署伺服器上使用 CodeDeploy，必須先安裝 CodeDeploy 代理程式。建議您使用 安裝和更新 CodeDeploy 代理程式 AWS Systems Manager。如需 Systems Manager 的詳細資訊，請參閱[什麼是 AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) 。您可以在建立部署群組時，使用 主控台中的 Systems Manager 設定 CodeDeploy 代理程式的安裝和排程更新。

您也可以使用命令列直接從 S3 儲存貯體安裝 CodeDeploy 代理程式。

如需安裝的建議版本，請參閱 [CodeDeploy 代理程式的版本歷史記錄](codedeploy-agent.md#codedeploy-agent-version-history)。

**Topics**
+ [

# 使用 安裝 CodeDeploy 代理程式 AWS Systems Manager
](codedeploy-agent-operations-install-ssm.md)
+ [

# 使用命令列安裝 CodeDeploy 代理程式
](codedeploy-agent-operations-install-cli.md)

# 使用 安裝 CodeDeploy 代理程式 AWS Systems Manager
<a name="codedeploy-agent-operations-install-ssm"></a>

您可以使用 AWS 管理主控台 或 AWS CLI ，使用 將 CodeDeploy 代理程式安裝到您的 Amazon EC2 或內部部署執行個體 AWS Systems Manager。您可以選擇安裝特定版本，或選擇永遠安裝最新版本的代理程式。如需 的詳細資訊 AWS Systems Manager，請參閱[什麼是 AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) 。

 使用 AWS Systems Manager 是安裝和更新 CodeDeploy 代理程式的建議方法。您也可以從 Amazon S3 儲存貯體安裝 CodeDeploy 代理程式。如需有關使用 Simple Storage Service (Amazon S3) 下載連結的資訊，請參閱 [使用命令列安裝 CodeDeploy 代理程式](codedeploy-agent-operations-install-cli.md)。

**Topics**
+ [

## 先決條件
](#install-codedeploy-agent-prereqs)
+ [

## 安裝 CodeDeploy 代理程式
](#download-codedeploy-agent-on-EC2-Instance)

## 先決條件
<a name="install-codedeploy-agent-prereqs"></a>

依照中的步驟[CodeDeploy 入門](getting-started-codedeploy.md)設定 IAM 許可和 AWS CLI。

如果使用 Systems Manager 在內部部署伺服器上安裝 CodeDeploy 代理程式，您必須向 Amazon EC2 Systems Manager 註冊您的內部部署伺服器。如需詳細資訊，請參閱*AWS Systems Manager 《 使用者指南*》中的[在混合環境中設定 Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html)。

## 安裝 CodeDeploy 代理程式
<a name="download-codedeploy-agent-on-EC2-Instance"></a>

在您可以使用 Systems Manager 安裝 CodeDeploy 代理程式之前，您必須確定執行個體已針對 Systems Manager 正確設定。

### 安裝或更新 SSM 代理程式
<a name="update-SSM-Agent-EC2instance"></a>

在 Amazon EC2 執行個體上，CodeDeploy 代理程式要求執行個體執行 2.3.274.0 版或更新版本。在安裝 CodeDeploy 代理程式之前，如果您尚未更新，請在執行個體上安裝 SSM 代理程式。

SSM 代理程式預先安裝在 提供的一些 Amazon EC2 AMIs上 AWS。如需詳細資訊，請參閱[預先安裝 SSM 代理AMIs)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html)。

**注意**  
請確定 CodeDeploy 代理程式也支援執行個體的作業系統。如需詳細資訊，請參閱[CodeDeploy 代理程式支援的作業系統](codedeploy-agent.md#codedeploy-agent-supported-operating-systems)。

如需有關在執行 Linux 的執行個體上安裝或更新 SSM 代理程式的資訊，請參閱*AWS Systems Manager 《 使用者指南*》中的[在 Linux 執行個體上安裝和設定 SSM 代理程式](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html)。

如需有關在執行 Windows Server 的執行個體上安裝或更新 SSM 代理程式的資訊，請參閱*AWS Systems Manager 《 使用者指南*》中的[在 Windows 執行個體上安裝和設定 SSM 代理程式](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-win.html)。

### (選用) 驗證 Systems Manager 先決條件
<a name="install-codedeploy-agent-minimum-requirements"></a>

在您使用 Systems Manager Run Command 安裝 CodeDeploy 代理程式之前，請確認您的執行個體符合 Systems Manager 的最低需求。如需詳細資訊，請參閱《AWS Systems Manager 使用者指南》**中的[設定 AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html)。

### 安裝 CodeDeploy 代理程式
<a name="install-codedeploy-agent-EC2"></a>

使用 SSM，您可以安裝 CodeDeploy 一次，或設定排程來安裝新版本。

 若要安裝 CodeDeploy 代理程式，請在遵循使用 經銷商安裝或更新`AWSCodeDeployAgent`套件中的步驟時選擇套件。 [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor-working-with-packages-deploy.html)

# 使用命令列安裝 CodeDeploy 代理程式
<a name="codedeploy-agent-operations-install-cli"></a>

**注意**  
建議您使用 安裝 CodeDeploy 代理程式，以便 AWS Systems Manager 能夠設定代理程式的排程更新。如需詳細資訊，請參閱[使用 安裝 CodeDeploy 代理程式 AWS Systems Manager](codedeploy-agent-operations-install-ssm.md)。

使用以下主題，使用命令列安裝和執行 CodeDeploy 代理程式。

**Topics**
+ [

# 安裝適用於 Amazon Linux 或 RHEL 的 CodeDeploy 代理程式
](codedeploy-agent-operations-install-linux.md)
+ [

# 安裝適用於 Ubuntu Server 的 CodeDeploy 代理程式
](codedeploy-agent-operations-install-ubuntu.md)
+ [

# 安裝適用於 Windows Server 的 CodeDeploy 代理程式
](codedeploy-agent-operations-install-windows.md)

# 安裝適用於 Amazon Linux 或 RHEL 的 CodeDeploy 代理程式
<a name="codedeploy-agent-operations-install-linux"></a>

登入執行個體，並執行下列命令，一次一個：使用 `yum`來安裝套件時，`sudo yum update`首先執行命令會被視為最佳實務，但如果您不想更新所有套件，則可以略過該命令。

```
sudo yum update
```

```
sudo yum install ruby
```

```
sudo yum install wget
```

（選用） 若要清除任何先前代理程式快取資訊的 AMI，請執行下列指令碼：

```
#!/bin/bash
CODEDEPLOY_BIN="/opt/codedeploy-agent/bin/codedeploy-agent"
$CODEDEPLOY_BIN stop
yum erase codedeploy-agent -y
```

變更為您的主目錄：

```
cd /home/ec2-user
```

**注意**  
在先前的命令中， `/home/ec2-user`代表 Amazon Linux 或 RHEL Amazon EC2 執行個體的預設使用者名稱。如果您的執行個體是使用自訂的 AMI 建立的，AMI 擁有者可能已指定不同的預設使用者名稱。

下載 CodeDeploy 代理程式安裝程式：

```
wget https://bucket-name.s3.region-identifier.amazonaws.com/latest/install
```

*bucket-name* 是 Amazon S3 儲存貯體的名稱，其中包含您區域的 CodeDeploy 資源套件檔案，而 *region-identifier* 是您區域的識別符。

例如：

`https://aws-codedeploy-us-east-2.s3.us-east-2.amazonaws.com/latest/install`

如需儲存貯體名稱和區域識別符的清單，請參閱 [依區域顯示的資源套件儲存貯體名稱](resource-kit.md#resource-kit-bucket-names)。

設定 `install` 檔案的執行許可：

```
chmod +x ./install
```

若要安裝最新版本的 CodeDeploy 代理程式：
+ 

  ```
  sudo ./install auto
  ```

若要安裝 CodeDeploy 代理程式的特定版本：
+ 列出您區域中可用的版本：

  ```
  aws s3 ls s3://aws-codedeploy-region-identifier/releases/ --region region-identifier | grep '\.rpm$'
  ```
+ 安裝其中一個版本：

  ```
  sudo ./install auto -v releases/codedeploy-agent-version.noarch.rpm
  ```
**注意**  
AWS 支援 CodeDeploy 代理程式的最新次要版本。目前最新的次要版本為 1.7.x。

若要確認服務是否正在執行，請執行下列命令：

```
systemctl status codedeploy-agent
```

如果已安裝並執行 CodeDeploy 代理程式，您應該會看到類似 的訊息`The AWS CodeDeploy agent is running`。

如果您看到類似 `error: No AWS CodeDeploy agent running` 的訊息，請啟動服務並執行以下兩個命令，一次一個：

```
systemctl start codedeploy-agent
```

```
systemctl status codedeploy-agent
```

# 安裝適用於 Ubuntu Server 的 CodeDeploy 代理程式
<a name="codedeploy-agent-operations-install-ubuntu"></a>

**注意**  
建議您使用 安裝 CodeDeploy 代理程式，以便 AWS Systems Manager 能夠設定代理程式的排程更新。如需詳細資訊，請參閱[使用 安裝 CodeDeploy 代理程式 AWS Systems Manager](codedeploy-agent-operations-install-ssm.md)。

**在 Ubuntu Server 上安裝 CodeDeploy 代理程式**

1. 登入執行個體。

1. 依序輸入下列命令：

   ```
   sudo apt update
   ```

   ```
   sudo apt install ruby-full
   ```

   ```
   sudo apt install wget
   ```

1. 輸入以下命令：

   ```
   cd /home/ubuntu
   ```

   */home/ubuntu* 代表 Ubuntu Server 執行個體的預設使用者名稱。如果您的執行個體是使用自訂的 AMI 建立的，AMI 擁有者可能已指定不同的預設使用者名稱。

1. 輸入以下命令：

   ```
   wget https://bucket-name.s3.region-identifier.amazonaws.com/latest/install
   ```

   *bucket-name* 是 Amazon S3 儲存貯體的名稱，其中包含您區域的 CodeDeploy 資源套件檔案，而 *region-identifier* 是您區域的識別符。

   例如：

   `https://aws-codedeploy-us-east-2.s3.us-east-2.amazonaws.com/latest/install`

   如需儲存貯體名稱和區域識別符的清單，請參閱 [依區域顯示的資源套件儲存貯體名稱](resource-kit.md#resource-kit-bucket-names)。

1. 輸入以下命令：

   ```
   chmod +x ./install
   ```

1. 執行以下任意一項：
   + 若要在任何支援的 Ubuntu Server 版本上安裝最新版本的 CodeDeploy 代理程式，*但* 20.04 除外：

     ```
     sudo ./install auto
     ```
   + 若要在 Ubuntu Server 20.04 上安裝最新版本的 CodeDeploy 代理程式：
**注意**  
將輸出寫入臨時日誌檔案是解決 Ubuntu Server 20.04 上`install`指令碼的已知錯誤時應該使用的解決方法。

     ```
     sudo ./install auto > /tmp/logfile
     ```
   + 若要在任何支援的 Ubuntu Server 版本上安裝 CodeDeploy 代理程式的特定版本，*但* 20.04 除外：
     + 列出您區域中可用的版本：

       ```
       aws s3 ls s3://aws-codedeploy-region-identifier/releases/ --region region-identifier | grep '\.deb$'
       ```
     + 安裝其中一個版本：

       ```
       sudo ./install auto -v releases/codedeploy-agent-###.deb
       ```
**注意**  
AWS 支援 CodeDeploy 代理程式的最新次要版本。目前最新的次要版本為 1.7.x。
   + 若要在 Ubuntu Server 20.04 上安裝特定版本的 CodeDeploy 代理程式：
     + 列出您區域中可用的版本：

       ```
       aws s3 ls s3://aws-codedeploy-region-identifier/releases/ --region region-identifier | grep '\.deb$'
       ```
     + 安裝其中一個版本：

       ```
       sudo ./install auto -v releases/codedeploy-agent-###.deb > /tmp/logfile
       ```
**注意**  
將輸出寫入臨時日誌檔案是解決 Ubuntu Server 20.04 上`install`指令碼的已知錯誤時應該使用的解決方法。
**注意**  
AWS 支援 CodeDeploy 代理程式的最新次要版本。目前最新的次要版本為 1.7.x。

**檢查服務是否正在執行**

1. 輸入以下命令：

   ```
   systemctl status codedeploy-agent
   ```

   如果已安裝並執行 CodeDeploy 代理程式，您應該會看到類似 的訊息`The AWS CodeDeploy agent is running`。

1. 如果您看到類似 `error: No AWS CodeDeploy agent running` 的訊息，請啟動服務並執行以下兩個命令，一次一個：

   ```
   systemctl start codedeploy-agent
   ```

   ```
   systemctl status codedeploy-agent
   ```

# 安裝適用於 Windows Server 的 CodeDeploy 代理程式
<a name="codedeploy-agent-operations-install-windows"></a>

在 Windows Server 執行個體上，您可以使用下列其中一種方法來下載和安裝 CodeDeploy 代理程式：
+ Use AWS Systems Manager （建議）
+ 執行一系列的 Windows PowerShell 命令。
+ 選擇直接下載連結。
+ 執行 Amazon S3 複製命令。

**注意**  
CodeDeploy 代理程式安裝到的資料夾是 `C:\Program Data\Amazon\CodeDeploy`。請確定此路徑上沒有目錄連接或符號連結。

**Topics**
+ [

## 使用 Systems Manager
](#codedeploy-agent-operations-install-system-manager)
+ [

## 使用 Windows PowerShell
](#codedeploy-agent-operations-install-windows-powershell)
+ [

## 使用直接連結
](#codedeploy-agent-operations-install-windows-direct-link)
+ [

## 使用 Amazon S3 複製命令
](#codedeploy-agent-operations-install-windows-s3-copy)

## 使用 Systems Manager
<a name="codedeploy-agent-operations-install-system-manager"></a>

依照 中的指示[使用 安裝 CodeDeploy 代理程式 AWS Systems Manager](codedeploy-agent-operations-install-ssm.md)安裝 CodeDeploy 代理程式。

## 使用 Windows PowerShell
<a name="codedeploy-agent-operations-install-windows-powershell"></a>

登入執行個體，並且在 Windows PowerShell 執行以下命令：

1.  要求所有從網際網路下載的指令碼和組態檔案由信任的發行者簽署。如果您被提示更改執行政策，請輸入「**Y**」。

   ```
    Set-ExecutionPolicy RemoteSigned
   ```

1.  載入 AWS Tools for Windows PowerShell。

   ```
   Import-Module AWSPowerShell
   ```

1.  建立下載 CodeDeploy 代理程式安裝檔案的目錄。

   ```
   New-Item -Path "c:\temp" -ItemType "directory" -Force
   ```

1. 使用 `Set-AWSCredential`和 `Initialize-AWSDefaultConfiguration`命令設定 AWS 登入資料。如需詳細資訊，請參閱《PowerShell 使用者指南》的工具中的[使用 AWS 登入](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html)資料。 *AWS PowerShell *

1.  下載 CodeDeploy 代理程式安裝檔案。
**注意**  
AWS 支援 CodeDeploy 代理程式的最新次要版本。目前最新的次要版本為 1.7.x。

   若要安裝最新版本的 CodeDeploy 代理程式：
   + 

     ```
     powershell.exe -Command Read-S3Object -BucketName bucket-name -Key latest/codedeploy-agent.msi -File c:\temp\codedeploy-agent.msi
     ```

   若要安裝 CodeDeploy 代理程式的特定版本：
   + 

     ```
     powershell.exe -Command Read-S3Object -BucketName bucket-name -Key releases/codedeploy-agent-###.msi -File c:\temp\codedeploy-agent.msi
     ```

   *bucket-name* 是 Amazon S3 儲存貯體的名稱，其中包含您所在區域的 CodeDeploy 資源套件檔案。例如，對於美國東部 （俄亥俄） 區域，將 *bucket-name* 取代為 `aws-codedeploy-us-east-2`。如需儲存貯體名稱的清單，請參閱 [依區域顯示的資源套件儲存貯體名稱](resource-kit.md#resource-kit-bucket-names)。

1.  執行 CodeDeploy 代理程式安裝檔案。

   ```
   c:\temp\codedeploy-agent.msi /quiet /l c:\temp\host-agent-install-log.txt
   ```

若要確認服務是否正在執行，請執行下列命令：

```
powershell.exe -Command Get-Service -Name codedeployagent
```

 如果 CodeDeploy 代理程式剛安裝且尚未啟動，則在執行**Get-Service**命令之後，您應該會在**狀態**下看到 **Start...**：

```
Status     Name                DisplayName
------     ----                -----------
Start...   codedeployagent    CodeDeploy Host Agent Service
```

如果 CodeDeploy 代理程式已在執行中，則在執行**Get-Service**命令之後，在**狀態**下，您應該會看到 **Running**：

```
Status     Name                DisplayName
------     ----                -----------
Running    codedeployagent    CodeDeploy Host Agent Service
```

## 使用直接連結
<a name="codedeploy-agent-operations-install-windows-direct-link"></a>

如果 Windows Server 執行個體上的瀏覽器安全設定提供許可 （例如 到 `https://s3.*.amazonaws.com`)，您可以使用 區域的直接連結下載 CodeDeploy 代理程式，然後手動執行安裝程式。

連結為：

```
https://s3.region.amazonaws.com/aws-codedeploy-region/latest/codedeploy-agent.msi
```

...其中 *region* 是您 AWS 部署應用程式的 區域。

例如：

```
https://s3.af-south-1.amazonaws.com/aws-codedeploy-af-south-1/latest/codedeploy-agent.msi
```

**重要**  
從與 CodeDeploy 應用程式相同的區域取得`.msi`檔案。當您執行 `codedeploy-agent-log` 檔案時，選擇不同的區域可能會導致 `.msi` 檔案`inconsistent region`失敗。

## 使用 Amazon S3 複製命令
<a name="codedeploy-agent-operations-install-windows-s3-copy"></a>

如果執行個體上安裝 AWS CLI ，您可以使用 Amazon S3 [cp](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) 命令下載 CodeDeploy 代理程式，然後手動執行安裝程式。如需詳細資訊，請參閱[在 Microsoft Windows AWS Command Line Interface 上安裝](https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html) 。

Amazon S3 命令為：

```
aws s3 cp s3://aws-codedeploy-region/latest/codedeploy-agent.msi codedeploy-agent.msi --region region
```

...其中 *region* 是您 AWS 部署應用程式的 區域。

例如：

```
aws s3 cp s3://aws-codedeploy-af-south-1/latest/codedeploy-agent.msi codedeploy-agent.msi --region af-south-1
```