如何在Azure DevOps中创建CloudFront自动失效任务?
在Azure DevOps中实现CloudFront自动失效任务
步骤1:配置AWS服务连接
- 打开Azure DevOps项目,进入项目设置 > 服务连接
- 点击新建服务连接,选择AWS类型
- 填写具备CloudFront失效权限的AWS Access Key ID和Secret Access Key,给服务连接命名(比如
AWS-CloudFront)后保存
步骤2:在Pipeline中添加失效任务
有两种实现方式可选:
方式一:使用AWS CLI任务(推荐)
在YAML pipeline中添加以下任务:
- task: AwsCli@2 inputs: awsCredentials: 'AWS-CloudFront' # 填写你创建的服务连接名称 regionName: 'us-east-1' # CloudFront API固定使用us-east-1区域 command: 'cloudfront' arguments: 'create-invalidation --distribution-id $(AWS_DISTRIBUTION_ID) --paths "/fd/cm/latest/remoteEntry.js"'
方式二:用脚本任务执行命令
如果偏好直接用脚本,可添加Bash/PowerShell任务:
- bash: | aws cloudfront create-invalidation --distribution-id $(AWS_DISTRIBUTION_ID) --paths "/fd/cm/latest/remoteEntry.js" env: AWS_ACCESS_KEY_ID: $(AWS_ACCESS_KEY_ID) AWS_SECRET_ACCESS_KEY: $(AWS_SECRET_ACCESS_KEY) AWS_DEFAULT_REGION: us-east-1
这种方式需要将AWS密钥作为保密变量添加到管道或变量组中。
步骤3:配置保密变量
- 进入Pipeline编辑页面 > 变量 > 新建变量,创建名为
AWS_DISTRIBUTION_ID的保密变量,填入你的CloudFront分配ID - 若使用方式二,还需将AWS的Access Key和Secret Key也添加为保密变量
注意事项
- CloudFront的
create-invalidation命令必须指定us-east-1区域,这是CloudFront API的固定要求 - 确保AWS账号的IAM权限包含
cloudfront:CreateInvalidation动作
内容的提问来源于stack exchange,提问作者Visco Love
相关产品推荐
相关产品推荐

