【问题标题】:How to securely store Azure DevOps PAT token in a GitHub repo?如何在 GitHub 存储库中安全地存储 Azure DevOps PAT 令牌?
【发布时间】:2021-08-18 09:55:08
【问题描述】:

我的 GitHub 操作会尝试从 Azure DevOps Artifacts 获取 python 包。它需要 Azure DevOps 凭据才能访问该包。我使用基本 HTTP 身份验证使其工作。

https://username:password@pypi.company.com/simple
pip install your-package --index-url https://pypi.company.com/

但是,我不想像这样公开我的密码(PAT 令牌),我想安全地存储它,以便 GitHub 可以在每次构建时获取 PAT 令牌并下载包。

在 Jenkins 中,我们可以将其存储在凭据中,但我无法在 GitHub 中找到类似的位置。

我可以从哪里获取密码的最佳位置?请指教。

【问题讨论】:

    标签: python github azure-devops basic-authentication python-keyring


    【解决方案1】:

    您正在寻找Secrets。要添加特定于 repo 的秘密,请转到 repo 并导航到设置,然后是 Secrets。或根据此模板构建您自己的 URL 以到达那里:

    https://github.com/<username>/<reponame>/settings/secrets/actions

    编辑:
    要在工作流程中使用这些机密,请参阅 Use encrypted secrets in a workflow。要考虑的一件事是正确引用:

    如果您必须在命令行中传递秘密,则将它们包含在正确的引用规则中。 Secret 通常包含可能会无意中影响您的 shell 的特殊字符。要转义这些特殊字符,请在环境变量中使用引号。

    【讨论】:

    • 我添加了一个秘密。您能否让我知道如何从 GitHub 工作流程访问该机密并将值传递给 pip install requirements.txt 文件?我试过${{ secrets.MY_SECRET }}。它不工作
    • GitHub 文档中有一段关于此的内容:Use encrypted secrets in a workflow。 ${{ secrets.MY_SECRET }} 应该可以工作,请检查是否还有其他事情发生。例如: 如果您必须在命令行中传递秘密,则将它们包含在适当的引用规则中。 Secret 通常包含可能会无意中影响您的 shell 的特殊字符。要转义这些特殊字符,请在环境变量中使用引号。
    猜你喜欢
    • 1970-01-01
    • 2013-06-10
    • 2019-02-20
    • 2021-03-05
    • 2012-09-11
    • 2016-07-23
    • 2021-05-02
    • 2021-12-14
    • 1970-01-01
    相关资源
    最近更新 更多