如何使用jenkins git插件从分支构建包括起源与否

时间:2011-06-27 20:00:03

标签: git jenkins git-branch

当从主jenkins上使用git构建并使用origin / master时。当从一个分支上的git构建jenkins时,用户mybranch不是origin / mybranch并且没有进行更改。

我将分支说明符切换为使用 origin / mybranch ,它似乎有效。是处理事情的标准方法还是我错过了更明显的方法?我不想增加不必要的复杂性。

如果jenkins在其Branches-To-Build字段中使用 origin / branchname而不是branchname,请告诉我。

由于

彼得

2 个答案:

答案 0 :(得分:3)

如果您只有一个远程存储库(名为origin),则输入branchname应与输入origin/branchname同义。如果您有多个存储库,只需输入branchname,那么它应该检查该分支的所有远程存储库。

请注意,如果您在Jenkins工作区存储库中手动创建了一个名为branchname的分支,那么它可能会有一些奇怪的行为,您可能希望删除该分支或重新创建工作区。通常,您不应该手动操作工作区存储库中的分支。

永远不应该尝试使用本地(非远程)分支进行轮询或进行更改。如果你看到它这样做,那肯定是一个错误。你应该尝试将你的jenkins实例和git插件升级到最新版本,如果你仍然看到问题,你应该file an issue(同时你可以使用origin/branchname作为解决方法)。但是,使用最新版本输入只是branchname对我来说很好,所以如果你继续看到这个问题,我建议你重新创建工作区以尝试获得一个干净的存储库。

答案 1 :(得分:2)

检查您当前的.git / config,您将看到您的“origin”以及master与origin的关系已经指定。不会指定其他分支,因此插件无法构建URL。要添加更多分支......

[remote "origin"]
        url = ssh://myserv/srv/git/proj.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[branch "im_a_branch"]
        remote = origin
        merge = refs/heads/im_a_branch_remote_branch_name

这将使您能够在分支中添加分支名称以在Jenkins中构建字段。这可能是矫枉过正,还有额外的维护。只需加入origin / branchname。