2

在 jenkins shell 中,我想添加远程 repos,但是如果 repos 名称存在,那么我遇到了

fatal: remote I-WANT-TO-PUSH already exists.

詹金斯意外中止了。

我想在下面的伪代码。

if [ ! git remote I-WANT-TO-PUSH exist? ]
  git remote add I-WANT-TO-PUSH http://i-want-to-push.example.com
fi
git push I-WANT-TO-PUSH

这个怎么做?

编辑:(感谢@Nikolay)

下面是几乎实际的代码:

o=$(git remote | grep 'pushable')
if [[ $o == '' ]]; then
  hub remote add pushable https://$GH_TOKEN@github.com/foo/bar.git
fi

然后我得到:

++ grep pushable
++ git remote
+ o=
Build step 'Execute shell' marked build as failure
4

3 回答 3

2

使用此脚本,您将确认来源列表是否将 I-WANT*.git 作为可推送资源

o=$(git remote -v| grep '/I-WANT-TO-PUSH.git (push)')
if [[ $o == '' ]]; then 
 echo "not exists"
else
 echo "exist"
fi
于 2013-06-18T13:47:06.773 回答
0

我的解决方法,我在下面检查:

Wipe out workspace before build

而且总是

git remote add pushable
于 2013-06-25T02:12:47.607 回答
0

简单而懒惰的解决方案:P

$ git push remote add I-WANT-TO-PUSH 2> /dev/null || echo

或者

$ git push remote add I-WANT-TO-PUSH || echo
于 2013-07-01T10:25:57.857 回答