在Jenkins中使用Git命令:找不到git

3
我正在Kubernetes上运行Jenkins,已安装git插件。 现在我想在我的脚本中使用git命令,但是日志显示失败:
script.sh: line 1: git: not found

我的脚本:

stage('Package Helm Chart'){
            sh """ 
              #!/bin/bash

              echo "Pushing to remote Repository.."

              git checkout master

              git add <myfilehere>

              git commit -m "[Jenkins] Adding Artifact ${env.BUILD_NUMBER} to repository"

              git push

              echo "Successfully pushed artifact to repository"
            """

有没有什么办法可以解决这个问题?祝好,Jst。

Git插件实际上是安装Git还是只是使已安装的Git可用于Jenkins?因此,您可能需要单独安装Git。 - BNT
3个回答

5

所提到的sh命令应该在jenkins节点内的node块中运行。这个命令会在该节点上的shell中运行。要在流水线脚本的sh标签中使用git,您需要在要使用的节点上安装并添加git到PATH。

如果您正在使用Kubernetes,则我假设您正在从docker映像中运行Jenkins主节点或节点,因此该映像需要安装并将git添加到PATH。

完成后,shell将能够找到git。


0

我不确定,但我认为您混淆了Jenkins git插件,它允许您选择git作为项目工作区的源代码管理,在项目配置中,以及在命令行中使用git,在需要安装并在$PATH中存在git的脚本内执行。


-1
在我的情况下,这是由于 Groovy 代码中的无意错误造成的。我本来想为了调试目的而编写 echo,但实际上却写成了 sh。我将其删除后,Jenkins 作业成功运行了。
stage("Deploy"){
  steps{
    ----
    //sh "Deployment successful" - this resulted in script.sh: git not found error
    echo "Deployment successful" - this fixed it.
  }
}

说来也奇怪,这可能会帮助那些犯了和我一样的错误的人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接