我确实使用Azure,Terraform,Ansible,GIT和Visual Studio Team Service(VSTS)建立了基础结构代码(IAC)构建管道。我还在本地计算机上设置了VSTS代理,该代理与VSTS在线同步。该安装程序当前可以无缝运行,并且只要我在本地Ubuntu计算机上更改Terraform基础结构规范,并将更改提交到GIT存储库,它就会自动更新Azure中的VM定义。
问题
如上所示,我有一些应用程序变量,例如Azure订阅ID,用户名,密码等,我不想提交到公共存储库。因此,我将它们定义为VSTS中的组变量,并且需要将它们下载/同步到terraform.tfvars文件中的本地Linux代理中。
请我该怎么做。
答案 0 :(得分:1)
我们使用了大量技术将敏感数据移出脚本。一些例子:
terraform.tfvars
文件中的变量是从另一个锁定的存储库中提取的;对于接受多个输入工件的Release Pipelines,这是微不足道的。您还可以使用一些Powershell即时生成此文件只需确保管道清除所有这些秘密即可:VSTS不会为您这样做。