如何使用包含 AWS 服务终端节点 ID 的流程变量传递 AWS 凭证



我想在与 AWS 相关的发布任务中使用两个变量 $(Aws.Endpoint( 和 $(Aws.Region(,并为它们提供值作为流程变量。Aws.Endpoint 是 VSTS 中 AWS 服务终端节点的 ID。当我这样做时,我得到

Endpoint auth data not present: ...

有没有人遇到这个看似微不足道的问题找到了解决方案?否则,我需要直接在任务中定义 aws 终端节点,这感觉是错误的,因为我最终希望发布任务成为任务组的一部分,由构成管道的所有环境(开发、暂存、生产(共享。

注意:我看到 AWS Tools for Visual Studio Team Services 没有 stackoverflow 标签,也没有创建新标签的声誉。如果一个有足够声誉的人可以创建像aws-tools-for-vsts(主页(这样的东西,那将是伟大的。

不,您不能对 AWS Tools for Visual Studio Team Services 扩展Microsoft的任务执行此操作。可以通过 VSTS 扩展自定义生成/发布任务以满足要求。

如果要在自定义构建/发布任务中获取 AWS 终端节点,可以通过 Get-VstsEndpoint 或 task.getEndpointAuthorization 以及服务的 GUID 获取终端节点(可以在构建/发布日志中获取:##[debug]awsCredentials=9a3009d2-35f3-4954-a8fa-34c3313c34f6

(

例如:

$awsEndpoint = Get-VstsEndpoint -Name [GUID of service] -Require
Write-Host $awsEndpoint
foreach($p in $awsEndpoint.Auth.Parameters){
Write-Host $p
}

最新更新