使用Google Cloud服务帐户是VSTS构建

时间:2018-01-19 11:34:17

标签: azure-pipelines gcp service-accounts

我在VSTS上运行自动构建,部分构建正在针对GCP运行集成测试。

我已在GCP上设置了一个服务帐户,该帐户授予运行测试所需的最低权限,并已下载JSON密钥。

我正在努力解决如何在VSTS构建过程中使用该密钥。我可以添加GOOGLE_APPLICATION_CREDENTIALS环境变量,该变量足够容易指向文件,但我不确定在哪里保留JSON密钥所以​​它仍然安全,或者我错过了另一种可能有用的方法吗?

我对GCP很陌生,所以非常感谢任何帮助或建议。

谢谢, 安迪

1 个答案:

答案 0 :(得分:2)

您可以将安全信息存储在secret variable(s)中,然后在调用服务之前通过Replace Token task(将其安装到您的VSTS)将值替换为JSON文件,在构建结束时,您可以从JSON文件中删除安全信息或直接删除它。 (如果您使用的是托管代理,则会自动清除源文件)

  1. 修改构建定义
  2. 选择“变量”选项卡
  3. 点击添加按钮添加新变量(例如名称:key1;值:[安全信息]),点击锁定图标将变量类型更改为秘密
  4. 编辑JSON文件以将安全信息替换为令牌(例如#{key1}#,key1是变量名称)
  5. 添加替换标记任务并指定目标文件
  6. 其他致电服务的任务
  7. 添加删除文件任务以删除JSON文件或其他方式来清除安全信息。