【问题标题】:How do I install python package from private github repo using jenkins?如何使用 jenkins 从私有 github repo 安装 python 包?
【发布时间】:2019-02-21 07:11:01
【问题描述】:

我可以通过 github 插件使用 jenkins 私钥(其公钥位于 github 存储库中)checkout scm。我可以安装在我的本地系统(osx)上。但我无法从 Jenkins 的私有 github 存储库中安装 python 包。

对此有什么想法吗?我猜我需要将令牌放入github_repo_token=os.environ.get('GITHUB_TOKEN', 'NA')之类的环境变量中,然后将其插入"git+https://{}@github.com/owner/repo.git@master".format(github_repo_token)之类的github url中,然后它将起作用。

如何将令牌放入环境变量或传递给 setup.py 脚本?

【问题讨论】:

    标签: python git jenkins pip


    【解决方案1】:
    1. 直接回答 - 在 jenkins 中使用 export GITHUB_TOKEN=... 进行预安装步骤,您将在 os.environ 中拥有它

    2. 话虽如此,我强烈建议你换一种方式。拥有这样的setup.py 会使您的安装变得不那么便携,并且难以在开发环境中使用。我建议您在 jenkins 中创建 .netrc 文件并将令牌放在那里。这样,您的 jenkins 将自动在 GH 上授权(假设您通过 https 进行拉取),并且开发环境可以交互方式获得授权。

      .netrc 的格式应该类似于

      machine github.com login your_token
      

    【讨论】:

    • 这是我无法理解的……。我在带有私钥的 SSH 用户名中有密钥,用于使用 github 插件在该存储库上运行 CI,但我不确定如何将其放入导出语句中。谢谢。
    猜你喜欢
    • 2019-10-27
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2020-02-14
    • 1970-01-01
    • 2014-03-29
    • 2021-04-02
    相关资源
    最近更新 更多