【发布时间】:2018-07-23 22:15:50
【问题描述】:
我有一个 npm 包,它依赖于其 package.json 中私有 github 服务器中的 repo:
"my-package": "git+https://private.github.example.com/my-org/my-package.git"
github 服务器使用个人访问令牌(在身份验证期间用作密码)进行保护。在本地构建中,用户可以将他们的.gitcredentials 存储为https://private.github.example.com,并且在 npm 构建期间 git 会自动使用它们访问 github 存储库。
我在 Jenkins 中也有一个技术用户,通常可以通过个人访问令牌访问 github 服务器。但是 Jenkins 仅使用这些凭据从 github 服务器签出,并且该凭据似乎仅绑定到 github api url,而不是在 Jenkins 作业期间从该服务器上的任何 repo 进行 git checkouts。
我见过https://support.cloudbees.com/hc/en-us/articles/203802500-Injecting-Secrets-into-Jenkins-Build-Jobs,它描述了如何定义凭据并将它们作为环境变量注入到构建脚本中。 但是,如果可能的话,我认为在 package.json 中引入环境变量并不是一个好主意。
如何在 npm 构建期间使凭证插件定义的凭证可供 git 访问?
【问题讨论】:
标签: node.js git github jenkins