git で post-receive 。別のレポジトリにもpush
gitlab にpushした後に、自動でBitbucketにもpushしてほしい時の post-receive
gitlab の hooks は、custom_hooksに置く
vi xxx.git/custom_hooks/post-receive GIT_REMOTE="bitbucket" while read OLDREV NEWREV REFNAME do BRANCH=`git rev-parse --symbolic --abbrev-ref "${REFNAME}"` echo "Push '${BRANCH}' branch to remote '${GIT_REMOTE}'" git push --tag ${GIT_REMOTE} ${BRANCH} done
これで、ローカルからgitlab にpushすると、Bitbucketにも連鎖的にpushされるようになる。
別レポジトリへのpush処理の時間がかかりそうで
バックグラウンドプロセスで実行する場合は
vi xxx.git/custom_hooks/post-receive GIT_REMOTE="bitbucket" while read OLDREV NEWREV REFNAME do BRANCH=`git rev-parse --symbolic --abbrev-ref "${REFNAME}"` echo "Push '${BRANCH}' branch to remote '${GIT_REMOTE}'" nohup git push --tag ${GIT_REMOTE} ${BRANCH} > out.log 2> err.log & done