我使用GCP服务帐户文件作为GitHub代码空间的秘密,并且我能够从代码空间容器访问它,如这里所述。
现在,我还想支持本地开发,没有GitHub代码空间,但仍然使用VSCode开发容器。
我还将服务帐户文件保存在本地文件系统中,但是在git repo之外(原因很明显)。我应该如何引用它?
可以在devcontainer.json
中使用mounts
属性。Codespaces忽略bind
挂载(更多信息可以在文档中找到),所以你应该能够从本地文件系统挂载文件,而不会影响你的Codespaces是如何构建/运行的。
更新
我已经在市场上发布了一个扩展来解决这个用例:https://marketplace.visualstudio.com/items?itemName=pomdtr.secrets
它将秘密存储在用户keychain中。因为它是一个web扩展,所以它可以在客户端上运行,也可以与devcontainer一起工作。
之前回答
您可以使用terminal.integrated.env.linux
来传递settings.json
文件中的秘密。
您可以使用settingsSync.ignoredSettings
数组禁用设置同步:
{
"terminal.integrated.env.linux": {
"GITHUB_TOKEN": "<your-token>"
},
"settingsSync.ignoredSettings": [
"terminal.integrated.env.linux"
]
}