AWS CodeDeploy
User Guide (API Version 2014-10-06)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

更新 AWS CodeDeploy 代理

对于 Amazon Linux、RHEL 和 Ubuntu Server 操作系统,AWS CodeDeploy 代理将在发布新版本时自动更新。对于 Windows Server,您可以在安装 AWS CodeDeploy 代理后安装 Windows Server 的 AWS CodeDeploy 代理更新程序,或者使用更新程序来取代该代理。只要检测到新版本,就会更新代理。您也可以通过在实例上运行命令来在所有受支持的操作系统上进行强制更新。

更新 Amazon Linux 或 RHEL 上的 AWS CodeDeploy 代理

在实例上安装 AWS CodeDeploy 代理 (codedeploy-agent.noarch.rpm) 后,它会在新版本发布 24 小时内自动更新。更新时间无法轻易取消或重新安排。如果在更新期间某个部署正在进行,则当前部署生命周期事件将首先完成。更新完成后,部署将继续下一个部署生命周期事件。

如果您要强制更新 AWS CodeDeploy 代理,请登录到实例,并运行以下命令:

Copy
sudo /opt/codedeploy-agent/bin/install auto

更新 Ubuntu Server 上的 AWS CodeDeploy 代理

在实例上安装 AWS CodeDeploy 代理 (codedeploy-agent_all.deb) 后,它会在新版本发布 24 小时内自动更新。更新时间无法轻易取消或重新安排。如果在更新期间某个部署正在进行,则当前部署生命周期事件将首先完成。更新完成后,部署将继续下一个部署生命周期事件。

如果您要强制更新 AWS CodeDeploy 代理,请登录到实例,并运行以下命令:

Copy
sudo /opt/codedeploy-agent/bin/install auto

更新 Windows Server 上的 AWS CodeDeploy 代理

要启用只要发布新版本就自动更新 AWS CodeDeploy 代理的功能,请在新实例或现有实例上安装 Windows Server 的 AWS CodeDeploy 代理更新程序。更新程序将定期检查新版本。当检测到新版本时,更新程序将在安装最新版本之前,卸载当前版本的代理(如果已安装)。

如果在更新程序检测到新版本时部署操作已在进行中,则部署操作将会继续完成;但是,如果尝试在更新过程中启动部署操作,则部署操作将失败。

登录到实例,然后在 Windows PowerShell 中依次运行以下命令:

注意

如果您正在使用远程桌面客户端连接到实例,则作为运行第五个命令的替代方案,您可以双击 MSI 文件。

Copy
Set-ExecutionPolicy RemoteSigned

Copy
Import-Module AWSPowerShell

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

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

Copy
c:\temp\codedeploy-agent-updater.msi /quiet /l c:\temp\host-agent-updater-log.txt

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

bucket-name 表示下列项目之一:

  • aws-codedeploy-us-east-1 (对于美国东部(弗吉尼亚北部)区域中的实例)

  • aws-codedeploy-us-east-2 (对于美国东部(俄亥俄州)区域中的实例)

  • aws-codedeploy-us-west-1 (对于美国西部(加利福尼亚北部)区域中的实例)

  • aws-codedeploy-us-west-2 (对于美国西部(俄勒冈)区域中的实例)

  • aws-codedeploy-ca-central-1 (对于加拿大 (中部)区域中的实例)

  • aws-codedeploy-eu-west-1 (对于欧洲(爱尔兰)区域中的实例)

  • aws-codedeploy-eu-west-2 (对于欧洲 (伦敦)区域中的实例)

  • aws-codedeploy-eu-central-1 (对于欧洲(法兰克福)区域中的实例)

  • aws-codedeploy-ap-northeast-1 (对于亚太区域(东京)区域中的实例)

  • aws-codedeploy-ap-northeast-2 (对于亚太区域(首尔)区域中的实例)

  • aws-codedeploy-ap-southeast-1 (对于亚太区域(新加坡)区域中的实例)

  • aws-codedeploy-ap-southeast-2 (对于亚太区域(悉尼)区域中的实例)

  • aws-codedeploy-ap-south-1 (对于亚太地区(孟买)区域中的实例)

  • aws-codedeploy-sa-east-1 (对于南美洲(圣保罗)区域中的实例)

  • aws-codedeploy-cn-north-1 (对于中国(北京)区域中的实例)

Copy
Set-ExecutionPolicy RemoteSigned

Copy
Import-Module AWSPowerShell

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

Copy
powershell.exe -Command Read-S3Object -BucketName aws-codedeploy-cn-north-1 -Key latest/codedeploy-agent-updater.msi -File c:\temp\codedeploy-agent-updater.msi

Copy
c:\temp\codedeploy-agent-updater.msi /quiet /l c:\temp\host-agent-updater-log.txt

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

如果需要排除更新过程中出现的错误,请键入以下命令来打开 AWS CodeDeploy 代理更新程序日志文件:

Copy
notepad C:\ProgramData\Amazon\CodeDeployUpdater\log\codedeploy-agent.updater.log

如果您希望强制更新 AWS CodeDeploy 代理,请按照安装或重新安装适用于 Windows Server 的 AWS CodeDeploy 代理中的说明操作。