2017-07-08 53 views
2

安装了Git和Github插件。 Git用于克隆存储库(所以它的工作原理)。 除了处理构建的主节点之外,我没有任何节点。 Git PATH在/ jenkins/configureTools /中指定。在詹金斯的构建步骤中,Git不在路径中

但是,我收到此错误消息?

+ bower install 
bower semantic-ui-range#*  ENOGIT git is not installed or not in the PATH 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

我该如何避免它?

+1

克隆发生在主设备上,但git可能没有安装在构建发生的构建从站上。 – burnettk

+0

奴隶做自己独立工作(而不是主复制文件)。 –

回答

1

OPBitnami Jenkins for Google Cloud Platform的背景下产生的詹金斯VM,你可以检查出部分“How to start with Git and Jenkins?

如下文所述,这并不正常工作(路径不包括凉亭操作GIT)

变通办法,由OP建议:

创造了另一个詹金斯VM,这一次没有使用Bitnami詹金斯。
它开箱即用。


原来的答复。

关于bower,检查bower issue 972

不得不进入/bower/lib/core/resolvers/GitResolver.js和注释掉,检查是否Git是那里得到这个工作就行了。看来which模块对我来说工作不正常。

注释掉行:

if (!hasGit) { 
    throw createError('git is not installed or not in the PATH', 'ENOGIT'); 
} 
  • 鲍尔:1.7.7
  • 节点:5.9。0

更普遍:

你需要确保:

  • 詹金斯全局设置具有定义
  • 一个Git PATH奴隶都安装在一个混帐PATH

例子:

https://i.stack.imgur.com/8wO20.png
(来源: “Jenkins path to git Windows master/Linux slave”)

这样,你不依赖于PATH环境变量(在主或从设备),作为詹金斯将完成它定义了Git路径。

万一从与不同的帐户(和不同PATH),尝试执行(如果当前PATH不包括git),以提供给所有用户(测试),其路径:

echo "PATH=$PATH" | sudo tee /etc/environment 
+0

Jenkins在/ jenkins/configureTools /屏幕中具有Git路径的全局设置。我没有任何节点,除了主节点之外,所以我猜这些构建是在主节点(它已经在PATH中拥有git)中执行的。 – user3002996

+0

Jenkins如何启动?它是否与系统帐户?因为如果它是,它不具有相同的路径。 – VonC

+0

我不知道说实话。我已经使用Bitnami图像在谷歌应用程序引擎上进行了旋转。我还在主节点上使用了Script Console,并执行了“println System.getenv(”PATH“)”,它给了我这个输出“/ usr/local/bin:/ usr/bin:/ bin:/ usr/local /游戏:在/ usr /游戏”。让我知道它是否合理。 – user3002996