问题
我使用的某些图书馆需要区分大小写的环境变量QXToken。当我创建一个共渡秘密时,环境变量只能以大写字母(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}访问codespaces秘密,因为您可以通过GitHub操作访问这些秘密,而updateContentCommand、postCreateCommand、postStartCommand和postAttachCommand都不能持久地为用户保存环境变量。使用命令env,我从日志中看到环境变量已经设置,但在下一个命令中它们已经没有了。尽管postCreateCommand能够根据文档访问codespaces秘密,但我无法设置环境变量供以后使用。
目前,我只看到以下环境变量,但我缺少QXToken
$ env | grep QX
QXAuthURL=https://auth.quantum-computing.ibm.com/api
QXTOKEN=***问题
在共视秘密中重用devcontainer.json并使它们在codespace中作为环境变量可用的最佳实践是什么?
发布于 2022-08-05 10:03:27
GitHub Codespaces机密可以通过localEnv获得,这是devcontainer.json使用的一个特殊变量,它提供对主机上环境变量的访问。因此,您可以在QXToken中设置环境变量${localEnv:QXTOKEN}。
此外,如果您希望设置指向回购内路径的环境变量,则可以使用${containerWorkspaceFolder}/path/inside/your/repo。
"remoteEnv": {
// Use a GitHub Codespaces secret:
"QXToken": "${localEnv:QXTOKEN}",
// Point to a path inside your repo:
"QISKIT_SETTINGS": "${containerWorkspaceFolder}/.qiskit/settings.conf"
}有关devcontainer.json中可用变量的更多信息,请查看文档。
https://stackoverflow.com/questions/73052779
复制相似问题