【发布时间】:2022-08-05 18:03:27
【问题描述】:
问题
我使用的一些library 需要区分大小写的环境变量QXToken。
当我创建 codespaces secret 时,环境变量只能以大写字母 (QXTOKEN) 使用,因为机密不区分大小写。因此,我想将存储在QXTOKEN 中的秘密复制到环境变量QXToken。
我试图在devcontainer.json 中做到这一点:
{
...
\"remoteEnv\": {
\"QXAuthURL\": \"https://auth.quantum-computing.ibm.com/api\",
\"QXToken\": \"${secrets.QXTOKEN}\"
},
\"updateContentCommand\": \"env; export QXToken=$QXTOKEN; env\",
\"postCreateCommand\": \"env; export QXToken=$QXTOKEN; env\",
\"postStartCommand\": \"env; export QXToken=$QXTOKEN; env\",
\"postAttachCommand\": \"env; export QXToken=$QXTOKEN; env\"
}
但是remoteEnv 无法通过${secrets.QXTOKEN} 访问代码空间机密,因为可以使用GitHub Actions 并且updateContentCommand、postCreateCommand、postStartCommand 和postAttachCommand 都没有为用户持久保存环境变量。
使用命令env 我从日志中看到已经设置了环境变量,但是在下一个命令中它们已经消失了。
即使postCreateCommand 能够根据documentation 访问代码空间机密,我也无法设置环境变量以供以后使用。
现在我只看到以下环境变量,但我缺少QXToken:
$ env | grep QX
QXAuthURL=https://auth.quantum-computing.ibm.com/api
QXTOKEN=***
问题
是否有最佳实践在 devcontainer.json 内重用 codespaces secrets 并使它们作为代码空间中的环境变量可用?
标签: environment-variables vscode-devcontainer codespaces github-codespaces devcontainer