我想开始在一些内部项目上使用 devcontainers(Visual Studio Code - 远程容器)。这些项目在构建过程中都需要访问内部包存储库(npm、maven、nuget、docker、apt、yum 等),这通常需要提供适当的配置文件(
~/.npmrc
、~/.m2/settings.xml
、~/.config/NuGet/NuGet.Config
、/etc/apt/sources.list
)
等)。
现在为了方便起见,最简单的方法是将必要的配置嵌入到基础映像中,但我不希望每个人都使用相同的凭据,也不希望将凭据存储在基础映像中的某个位置。
VSCode 自动支持转发 git-credential-helper 和 ssh-agent,并默认复制 .gitconfig,但其他工具不支持。它还提供了一种将额外的“dotfiles”存储库签入容器并运行脚本的方法,但同样,存储库在这里不是正确的工具。
是否有更好的选项可以将工具凭据注入到开发容器中,对于团队成员来说配置不太密集,同时仍然使用自己的凭据?
一种选择是使用
devcontainer.json
密钥,该密钥可以使用组织、存储库或用户定义的值:
"secrets": {
"NAME_OF_SECRET_1": {
"description": "This is the description of the secret.",
"documentationUrl": "https://example.com/link/to/info"
},
"NAME_OF_SECRET_2": { }
}
请参阅这些功能的文档: