2

jenkins shellで、リモートリポジトリを追加したいのですが、リポジトリ名が存在する場合、私は会いました

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 に答える