更新 Windows Server 上的 CodeDeploy 代理 - AWS CodeDeploy

更新 Windows Server 上的 CodeDeploy 代理

您可以使用 AWS Systems Manager 启用 CodeDeploy 代理的自动更新。通过使用 Systems Manager,您可以通过创建与 Systems Manager 状态管理器的关联来为您的 Amazon EC2 或本地实例配置更新计划。您还可以通过卸载当前版本并安装较新版本来手动更新 CodeDeploy 代理。

使用 AWS Systems Manager 设置自动 CodeDeploy 代理更新

要配置 Systems Manager 并启用 CodeDeploy 代理的自动更新,请按照使用 AWS Systems Manager 安装 CodeDeploy 代理中的说明进行操作。

手动更新 CodeDeploy 代理

要手动更新 CodeDeploy 代理,您可以从 CLI 或使用 Systems Manager 安装最新版本。按照安装 CodeDeploy 代理中的说明进行操作。建议您按照卸载 CodeDeploy 代理中的说明卸载旧版本的 CodeDeploy 代理。

(已弃用)使用 Windows Server 更新程序更新 CodeDeploy 代理

注意

适用于 Windows Server 的 CodeDeploy 代理更新程序已弃用,并且不会更新到 1.0.1.1597 之后的任何版本。

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

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

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

在 Windows Server 实例上,您可以通过以下方式下载并安装 CodeDeploy 代理更新程序:运行 Windows PowerShell 命令、使用直接下载链接或运行 Amazon S3 复制命令。

使用 Windows PowerShell

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

Set-ExecutionPolicy RemoteSigned

如果系统提示您更改执行策略,请选择 Y,这样 Windows PowerShell 要求从 Internet 下载的所有脚本和配置文件由可信发布者签名。

Import-Module AWSPowerShell
New-Item -Path "c:\temp" -ItemType "directory" -Force
powershell.exe -Command Read-S3Object -BucketName bucket-name -Key latest/codedeploy-agent-updater.msi -File c:\temp\codedeploy-agent-updater.msi
c:\temp\codedeploy-agent-updater.msi /quiet /l c:\temp\host-agent-updater-log.txt
powershell.exe -Command Get-Service -Name codedeployagent

bucket-name 是包含适用于您所在区域的 CodeDeploy 资源工具包文件的 Amazon S3 存储桶的名称。例如,对于美国东部(俄亥俄州)区域,将 bucket-name 替换为 aws-codedeploy-us-east-2。有关存储桶名称的列表,请参阅各区域的资源工具包存储桶名称

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

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

如果 Windows Server 实例上的浏览器安全设置提供必需的权限(例如,针对 http://s3.*.amazonaws.com 的权限),则您可以使用直接链接来下载 CodeDeploy 代理更新程序。

链接是:

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

... 其中 region 是您要更新应用程序的 AWS 区域。

例如:

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

使用 Amazon S3 复制命令

如果实例上已安装 AWS CLI,则可使用 Amazon S3 cp 命令下载 CodeDeploy 代理更新程序,然后手动运行安装程序。有关信息,请参阅在 Microsoft Windows 上安装 AWS Command Line Interface

Amazon S3 命令是:

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

... 其中 region 是您要更新应用程序的 AWS 区域。

例如:

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