Bitbucketに`git push` した時に自動的にVPSで`git pull` する方法
非公開のリポジトリが持てるBitbucketに非公開のプロジェクトを公開しておいて、`git pushしたら自動的にサービスを動かしてるVPS上で
git pull` を動かす方法
コツ
*外部からアクセスできるgit pull
を行うスクリプトを作成して、BitbucketからのIPで制限をかける。
やり方
Bitbucketでプロジェクトを選んで右上辺りの歯車アイコンを選択して管理画面に入って、
Hooks
-> Post
を選択して必要なスクリプトをURLで指定する。
スクリプトはこんなの。
<?php
$output = shell_exec('git pull');
echo "<pre>$output</pre>";
?>
参考
git pull - Git pulling depends on the current dir - Stack Overflow
http://stackoverflow.com/questions/9851644/git-pulling-depends-on-the-current-dir
でも結局やってません
git pull
をゲスト権限で実行させるか、スクリプト内でsudo
してユーザーを変更する必要があったので普通にGitのDeamon入れたほうが楽そうなので
ローカル -> Bitbucket -> VPS
の流れじゃなくて
ローカル -> VPS -> Bitbucket
でVPS側に push した時の post hook で Bitbucketに VPSから push することにしました。
詳しいやり方はまた別の投稿で。
別の方法
git push
した時に2箇所同時に上げればいいということに気づいたので
[remote "all"]
url=ssh://user@server/repos/g0.git
url=ssh://user@server/repos/g1.git
と書くのが一番でした。秘密鍵をサーバーに置かなくても良いので更にGood!
参考
Author And Source
この問題について(Bitbucketに`git push` した時に自動的にVPSで`git pull` する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/ironsand/items/2be2d607166239f071e0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .