我已经在我的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的作业,并且没有出现我的目录。我不确定我做错了什么,似乎找到了很多有用的信息。
感谢任何帮助。
答案 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)
查看您是否在 jenkins 作业的配置中选中了“在构建开始前删除工作区”的复选标记。
如果上述观点成立,则转到“在构建开始前删除工作区”>>高级>>添加>>要删除的文件的模式>>排除>/.git/强>
所以基本上,通过限制删除“.git”目录,我解决了这个问题。