在本地使用VSCode开发容器时GitHub代码空间的秘密



我使用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"
]
}

最新更新