在Jenkins / Git中设置远程跟踪

时间:2013-05-16 20:45:28

标签: git jenkins sbt jenkins-plugins

使用Jenkins,我正在检查一个项目,后来它使用SBT构建。但是当它试图执行sbt-release插件时,它会抱怨:

No tracking branch is set up. Either configure a remote tracking branch, or remove the pushChanges release part

这是我的Jenkins GIT插件配置:

  • 存储库网址指向.git文件
  • 名称:空白
  • Refspec:空白
  • 要构建的分支/分支说明符(默认为空):开发(我正在构建的分支)
  • 结帐/合并到本地分支机构(可选):开发

我按照回答this question的指南设置了这些项目。

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

4 个答案:

答案 0 :(得分:9)

假设你想从master构建。

在GIT部分的Jenkins中选择:

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"

答案 1 :(得分:6)

要解决它,我别无选择,只能构建一个命令行脚本:

git checkout develop || git checkout -b develop
git reset --hard origin/develop
git branch --set-upstream-to=origin/develop develop
git pull

并在SBT构建之前执行它。

答案 2 :(得分:1)

.git/config文件中需要以下三行:

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

其他答案都添加了这些答案,但你可以手动添加它们

答案 3 :(得分:0)

在我的情况下,遥控器丢失了。为了解决这个问题,我在使用sbt调用Build之前使用了以下命令行。

git remote add origin git@foo/bar.git || git remote -v
git checkout master
git reset --hard origin/master