Git命令不能在jenkins管道中工作 - 但是当我在本地运行它时它可以工作

时间:2017-11-21 08:07:59

标签: git jenkins

我在jenkins中运行的脚本在某些时候包含这个命令:

npm update fhir-types --force

结果是:

  

C:\ Sources \ iw-next \ iw.next-ui> npm update fhir-types --force npm WARN   使用--force我当然希望你知道你在做什么。错误的ERR!码   128 npm ERR!命令失败:C:\ Program Files \ Git \ cmd \ git.EXE clone   --depth = 1 -q -b dev https://bitbucket.org/asd/fhir-types.git C:\ Windows \ system32 \ config \ systemprofile \ AppData \ Roaming \ npm-cache_cacache \ tmp \ git-clone-1b2dca91   --config core.longpaths = true npm ERR!警告:找不到模板C:\ Windows \ TEMP \ pacote-git-template-tmp \ git-clone-fd08367f npm ERR!   remote:用户名或密码无效。如果您通过第三方登录   您必须确保在您的服务中设置了帐户密码   帐户资料。错误的ERR!致命:身份验证失败   ' https://bitbucket.org/asd/fhir-types.git/'错误的ERR!

     

npm ERR!可以在以下位置找到此运行的完整日志:npm ERR!
  C:\的Windows \ system32 \设置\ systemprofile \应用程序数据\漫游\ NPM-cache_logs \ 2017-11-21T07_55_14_306Z-的debug.log

当我在本地运行它可行时 - 无论如何在我运行此更新之前在命令行中更改用户和pw for git?

1 个答案:

答案 0 :(得分:1)

这可能是一些事情。有时Jenkins无法运行npm update/install,因为文件系统没有正确的权限。要解决此问题,请在文件系统上运行此命令。

chmod -R 777 /path/to/jenkins

根据经验,我发现在Jenkins上出现npm问题有时是由于Git配置不当造成的。还有一些npm配置设置也可以尝试。我建议从Jenkins作业中的自定义shell运行其余命令。

首先确保您的Git用户名和电子邮件已设置完毕。然后禁用SSL。禁用此功能并不是最安全的,有些人认为这是一种黑客行为,但它在很多情况下都有效。

git config --global user.name "BobDole"
git config --global user.name "bob.dole@cheescakefactory.org"
git config --global http.sslVerify false

看起来您正在使用私有Bitbucket存储库来保存您的npm包。未发布到公共npm存储库的NPM包对Jenkins来说有点挑剔。您可能必须自己尝试一些npm配置设置,看看哪些有用:https://docs.npmjs.com/misc/config

我的第一个建议是尝试将注册表明确设置为公共npm注册表。这对Jenkins来说过去很有用。

npm config set registry https://registry.npmjs.org/