在 Jenkins / Git 中设置远程跟踪

7
使用Jenkins时,我正在检出一个项目,然后使用SBT进行构建。但是当它尝试执行sbt-release插件时,它会抱怨:
No tracking branch is set up. Either configure a remote tracking branch, or remove the pushChanges release part

这是我的Jenkins GIT插件配置:
  • 仓库URL:指向.git文件
  • 名称:留空
  • Refspec:留空
  • 要构建的分支/Branch Specifier(默认留空):develop(我正在构建的分支)
  • 检出/合并到本地分支(可选):develop

我按照这个问题的指南设置了这些项目。

我认为SBT-release插件需要远程跟踪才能在分支上打标签。


尝试使用origin/develop代替develop。我不认为这是你的问题,但我已经配置了整个星期的Jenkins,并且在我们的设置中这很重要。 - Peter Lundgren
4个回答

10

假设您想从主分支构建。

在Jenkins的GIT部分中选择:

Branches to build:     master
也添加:
Additional Behaviours: 
      Check out to specific local branch:      master

构建步骤

执行 Shell:

git branch --set-upstream-to=origin/master master

然后添加您的SBT构建步骤

sbt "release with-defaults"

6
为了解决这个问题,我别无选择,只能构建一个命令行脚本:
git checkout develop || git checkout -b develop
git reset --hard origin/develop
git branch --set-upstream-to=origin/develop develop
git pull

在 SBT 构建之前执行。


1

.git/config文件需要包含以下三行内容:

[branch "master"]
  remote = origin
  merge = refs/heads/master

其他答案都添加了这些内容,但您可以手动添加它们。


0
在我的情况下,遥控器丢失了。为了解决这个问题,在调用sbt进行构建之前,我使用了以下命令行。
git remote add origin git@foo/bar.git || git remote -v
git checkout master
git reset --hard origin/master

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接