pol*_*ice 26 git plugins pull jenkins
我正在与Jenkins CI合作,我正在尝试正确配置我的作业以使用git.
我为我的一个工作安装并配置了git插件.当我构建作业时,我希望它为我指定的分支提取最新的更改,然后继续构建过程的其余部分(例如,单元测试等).
当我看到控制台输出时,我明白了
> git fetch --tags --progress ssh://gerrit@git-dev/Util +refs/heads/*:refs/remotes/origin/*
> git rev-parse origin/some_branch^{commit}
Checking out Revision <latest_SHA1> (origin/some_branch)
> git config core.sparsecheckout
> git checkout -f <latest_SHA1>
> git rev-list <latest_SHA1>
Run Code Online (Sandbox Code Playgroud)
我看到插件获取并检出了正确的提交哈希值,但是当测试运行时,似乎repo根本没有更新.如果我进入Jenkins的存储库,我会看到最新的更改从未被删除过.
它不应该在尝试构建之前拉动吗?
我在我的Jenkins机器上安装了git 1.8.5,这是推荐的版本. https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
在检查了其他类似的声音问题后,他们的答案对我的问题没有帮助.
Abh*_*eet 33
将我与工作空间未被清理,使用的场景联系起来:
其他选项是使用Workspace Cleanup Plugin
小智 7
我相信Jenkins会将更改添加到自己的tmp目录中.因此,尽管Jenkins在其自己的沙箱中正确构建了新代码,但您的存储库目录仍未更新.
我的解决方案是在我的构建过程中添加一个"git pull"步骤,如下所示:
当新的提交传递给我的GitHub仓库时:
1.构建我的项目
如果成功,请执行以下构建后步骤:
1.执行Shell:
cd /your/repo/directory/
git pull
Run Code Online (Sandbox Code Playgroud)
你可以明显地修改"git pull"命令来做你需要做的事情,如果'拉'不适合你.
对于使用 Jenkins 管道和 git 插件的人,请使用Wipe Out repository & force clone下面Additional Behaviours的SCM部分。