我有一个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,git将在npm构建期间自动使用它们来访问github存储库。
我在Jenkins中也有一个技术用户,通常可以通过个人访问令牌访问github服务器。但是,Jenkins仅使用这些凭据从github服务器中检出,并且其凭据只显示绑定到github api url,而不是从Jenkins作业期间发生的该服务器上的任何repo git checkout。
我见过https://support.cloudbees.com/hc/en-us/articles/203802500-Injecting-Secrets-into-Jenkins-Build-Jobs,它描述了如何定义凭据并将它们作为环境变量注入构建脚本中。 但是,我认为在package.json中引入环境变量并不是一个好主意,如果可能的话。
如何在npm版本中使用git可访问的凭据插件定义凭据?
答案 0 :(得分:0)
使用秘密存储中的凭据在代理上写入.gitcredentials文件,然后在发布步骤中再次对其进行清理。