Node.js 将我的Jenkins项目构建执行shell CWD的位置更改为GIT存储库的子文件夹

Node.js 将我的Jenkins项目构建执行shell CWD的位置更改为GIT存储库的子文件夹,node.js,git,shell,jenkins,gruntjs,Node.js,Git,Shell,Jenkins,Gruntjs,我们有一个运行在Ubuntu 14.04 x64上的Jenkins Build服务器,它正在处理另外三个项目。我们正在集成第四个Node.js项目,但由于开发它的外部承包商将所有项目文件放在存储库的文件夹中。因此,要澄清的是,存储库的根目录是一个文件夹;实际项目根所在的位置 Jenkins检查了存储库,但当它运行用于安装和构建的NPM命令时失败,因为它在存储库根目录中查找package.json,而不是在所有必需文件所在的子文件夹中查找package.json 有很多关于用例的信息,它们和我的有

我们有一个运行在Ubuntu 14.04 x64上的Jenkins Build服务器,它正在处理另外三个项目。我们正在集成第四个Node.js项目,但由于开发它的外部承包商将所有项目文件放在存储库的文件夹中。因此,要澄清的是,存储库的根目录是一个文件夹;实际项目根所在的位置

Jenkins检查了存储库,但当它运行用于安装和构建的NPM命令时失败,因为它在存储库根目录中查找package.json,而不是在所有必需文件所在的子文件夹中查找package.json

有很多关于用例的信息,它们和我的有一些相似之处,但是没有一个能为我提供有效的解决方案

在执行shell命令时,我尝试使用完整路径,将项目工作区更改为子文件夹,甚至研究了使用Git签出特定文件夹的方法,这似乎不是一件小事

我不敢相信,没有一种方法可以将Jenkins构建执行到签出存储库中,就好像特定子文件夹是shell实例中正在执行的所有脚本的根(CWD)一样


任何帮助都将不胜感激

正如评论中所暗示的,解决方案是在调用
npm
之前将
cd
放入子文件夹中。你能不能在调用
npm
之前将
cd
放入该子文件夹中?哈哈,当我注意到你的评论时,我确实找到了该解决方案并成功运行了!如果你发布一个答案,我很乐意接受。啊,太好了:)我在一个windows批处理版本中也有类似的疏忽。很高兴问题解决了。