首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GitHub中使用devcontainer.json中的密码

在GitHub中使用devcontainer.json中的密码
EN

Stack Overflow用户
提问于 2022-07-20 13:44:10
回答 1查看 316关注 0票数 0

问题

我使用的某些图书馆需要区分大小写的环境变量QXToken。当我创建一个共渡秘密时,环境变量只能以大写字母(QXTOKEN)可用,因为这些秘密是不区分大小写的。因此,我希望将存储在QXTOKEN中的秘密复制到环境变量QXToken中。

我在devcontainer.json上试过这样做

代码语言:javascript
复制
{
    ...

    "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操作访问这些秘密,而updateContentCommandpostCreateCommandpostStartCommandpostAttachCommand都不能持久地为用户保存环境变量。使用命令env,我从日志中看到环境变量已经设置,但在下一个命令中它们已经没有了。尽管postCreateCommand能够根据文档访问codespaces秘密,但我无法设置环境变量供以后使用。

目前,我只看到以下环境变量,但我缺少QXToken

代码语言:javascript
复制
$ env | grep QX
QXAuthURL=https://auth.quantum-computing.ibm.com/api
QXTOKEN=***

问题

共视秘密中重用devcontainer.json并使它们在codespace中作为环境变量可用的最佳实践是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-05 10:03:27

GitHub Codespaces机密可以通过localEnv获得,这是devcontainer.json使用的一个特殊变量,它提供对主机上环境变量的访问。因此,您可以在QXToken中设置环境变量${localEnv:QXTOKEN}

此外,如果您希望设置指向回购内路径的环境变量,则可以使用${containerWorkspaceFolder}/path/inside/your/repo

代码语言:javascript
复制
"remoteEnv": {
    // Use a GitHub Codespaces secret:
    "QXToken": "${localEnv:QXTOKEN}",
    // Point to a path inside your repo:
    "QISKIT_SETTINGS": "${containerWorkspaceFolder}/.qiskit/settings.conf"
}

有关devcontainer.json中可用变量的更多信息,请查看文档

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73052779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档