Jenkins无法在git repo

时间:2018-05-08 21:26:34

标签: git ubuntu jenkins

我已经在我的ubuntu机器上的ssh服务器上安装了jenkins。我创建了一个构建c ++项目的工作。

作业执行shell命令:

cd exact-arithmetic/
qmake exact-arithmetic.pro
make

当作业构建时,我收到以下错误

Building in workspace /var/lib/jenkins/workspace/integerBuild
Cloning the remote Git repository
Cloning repository REPONAME
 > git init /var/lib/jenkins/workspace/integerBuild # timeout=10 
Fetching upstream changes from REPONAME
 > git --version # timeout=10
using GIT_ASKPASS to set credentials 
 > git fetch --tags --progress REPONAME +refs/heads/*:refs/remotes/origin/*
 > git config remote.origin.url REPONAME # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url REPONAME # timeout=10
Fetching upstream changes from REPONAME
using GIT_ASKPASS to set credentials 
 > git fetch --tags --progress REPONAME +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision d1d90929149a6de918bae21bdc6710c1965a81a5 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f d1d90929149a6de918bae21bdc6710c1965a81a5
Commit message: "Peronalisation files for git"
 > git rev-list --no-walk d1d90929149a6de918bae21bdc6710c1965a81a5 # timeout=10
[integerBuild] $ /bin/sh -xe /tmp/jenkins5258842808869431608.sh
+ cd exact-arithmetic/
/tmp/jenkins5258842808869431608.sh: 2: cd: can't cd to exact-arithmetic/
Build step 'Execute shell' marked build as failure
[WS-CLEANUP] Deleting project workspace...[WS-CLEANUP] done
Finished: FAILURE

詹金斯没有连接到回购的问题。当我查看github repo时,我看到目录exact-arithmetic存在。

但是,我运行了一个执行命令行ls的作业,并且没有出现我的目录。我不确定我做错了什么,似乎找到了很多有用的信息。

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

来自您的评论:

  • ls返回一个空文件夹
  • pwd返回当前工作空间:/ var / lib / jenkins / workspace / integerBuild

您的文件夹exact-arithmetic/不存在。

要创建它,您可以在流程中添加命令:

mkdir -p exact-arithmetic/

仅当文件夹尚不存在时才会创建该文件夹。它将解决您的错误,但您将无法构建。

我的猜测是你的git工作流程中没有克隆你的来源。

我建议您将git init替换为

git clone https://github.com/USERNAME/REPOSITORY.git

Git init创建一个新的回购。但是git clone会获得现有仓库的来源。 git fetch将获得您要测试的更改。

答案 1 :(得分:0)

  1. 查看您是否在 jenkins 作业的配置中选中了“在构建开始前删除工作区”的复选标记。

  2. 如果上述观点成立,则转到“在构建开始前删除工作区”>>高级>>添加>>要删除的文件的模式>>排除>/.git/

  3. 所以基本上,通过限制删除“.git”目录,我解决了这个问题。