我正在尝试使用Jenkins主从架构来实现我的maven项目 . 我在Windows机器上有Jenkins master,在Linux机器上有slave . 现在的问题是,当我运行我的Jenkins脚本时,它给我一个错误,就像无法初始化git存储库,因为Jenkins试图在Linux从机上执行git.exe . 任何人都可以让我知道我该如何解决它?
以下是我的Jenkins管道脚本和错误日志
node ('lx-dotoolsd1')
{
stage 'Checkout'
git branch: 'master', credentialsId: 'ee44e971-4cce-4e59-95b6-
da222007775b', url: ' http://o-heena@bitbucket:7990/scm/phoen/audit-
confirmation.git'
stage 'Test'
def pom = readMavenPom file: 'pom.xml'
print "Build: " + pom.version
env.POM_VERSION = pom.version
//batch 'mvn clean compile install'
//junit '**/target/surefire-reports/TEST-*.xml'
currentBuild.description = "v${pom.version} (${env.branch})"
}
错误如下
Started by user Patel,Heena
[Pipeline] node
Running on lx-dotoolsd1 in /var/jenkins/workspace/pipelineTest
[Pipeline] {
[Pipeline] stage (Checkout)
Entering stage Checkout
Proceeding
[Pipeline] git
Cloning the remote Git repository
Cloning repository http://o-heena@bitbucket:7990/scm/phoen/audit-confirmation.git
> git.exe init /var/jenkins/workspace/pipelineTest # timeout=10
ERROR: Error cloning remote repo 'origin'
hudson.plugins.git.GitException: Could not init /var/jenkins/workspace/pipelineTest
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$5.execute(CliGitAPIImpl.java:656)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:463)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
at hudson.remoting.UserRequest.perform(UserRequest.java:152)
at hudson.remoting.UserRequest.perform(UserRequest.java:50)
at hudson.remoting.Request$2.run(Request.java:332)
1 回答
当您的
Linux Node
从全局工具配置访问Git
路径时,会发生此问题 .由于您的主机是Windows,
Git
路径指向Git.exe
.我认为你没有为你的奴隶机器设置
Git
路径 .转到
http://<JENKINS_URL>/computer/<NODE_NAME>/configure
,这将转到您的从属配置页面 . 在Node Properties
下检查Tool Location
并从List of Tool Location
选择Git
并添加在您的从机中安装的Git的GIT_HOME路径 .