Bitbucket とさくらレンタルサーバーを使って更新ファイルを自動アップする。

このブログのソース管理にBitbucket を利用しはじめました。
soucetreeを介して変更点をプッシュしたら、このブログでレンタルしてるさくらサーバーにファイルが自動でアップされてサイトが更新される…という環境を構築できました。
自社ブログは1人で作業・管理してるけど、やっぱり差分が一目瞭然なのは非常に便利ですね。
以下、参考にさせていただいた記事です。

大変わかりやすく助かりました。bitbucket-sync というファイルを使用します。
以下は、個人的に行き詰まった部分など今後作業する際に忘れないために、簡単に手順の再確認メモです。

用意するもの

  • bitbucketのアカウント
  • bitbucket-sync
  • soucetree
  • さくらレンタルサーバー

bitbucket へのアカウントの登録やリポジトリの作成の手順は省きます。
段階としては、作業ファイルをクローンした状態。また、以下のアカウントやサーバー情報をもっているという前提で書いていきます。
[plain]
[Git]
bitbucketのID: test-tarou
bitbucketのパスワード: abcdefg
リポジトリ名:mysite
ブランチ:master
[さくらサーバー]
初期ドメイン:tarou.sakura.ne.jp
サイトディレクトリ:/home/test/www/mysite
[/plain]

bitbucket-sync のファイルをFTPでサーバーにアップロード

bitbucket-sync のファイルを解凍し、サーバーにアップします。
更新したいサイトと同じディレクトリに置きましょう。
[plain]
/home/test/www/bitbucket-sync
[/plain]

設定ファイルを更新する。

bitbucket-sync にある config.sample.phpを config.phpに名称変更し、以下のように書き換えます。
[php]
<?php
$CONFIG = array(
‘commitsFolder’ => ‘commits’,
‘commitsFilenamePrefix’ => ‘commit-‘,
‘automaticDeployment’ => true,
‘deployBranch’ => ‘master’,
‘apiUser’ => ‘test-tarou’,
‘apiPassword’ => ‘abcdefg’,
‘verbose’ => true,
‘requireAuthentication’ => true,
‘deployAuthKey’ => ”,
‘gatewayAuthKey’ => ‘任意の英数字(本当になんでもいい)’,
);
$DEPLOY = array(
‘mysite’ => ‘/home/test/www/mysite’,
);
[/php]
修正が完了したらFTPでサーバーにアップしましょう。
ここで、更新するディレクトリのパーミッションを「777」に変更したほうがイイらしいのですが、WordPressだとディレクトリ全体を「777」にしてしまうと 500サーバーエラーになってサイトが見れなくなります。
なのでそのまま(自分の場合「755」でした)で進めます。
アップロードが完了したら、テストを行ないます。以下のURLをブラウザで実行してください。
[plain]http://tarou.sakura.ne.jp/bitbucket-sync/deploy.php?setup=任意の英数字(本当になんでもいい)[/plain]
http:// のあとの tarou~の部分は、さくらの初期ドメインの方を入力するとうまくいきました。末尾の任意の数字の部分は、config.phpで設定した「gatewayAuthKey」の値です。

bitbucket でPOSTの設定する。

bitbucketで[Setting > Service >Select a service]を選択し「Add Service」をクリック。URL欄に以下を入力。
[plain]http://tarou.sakura.ne.jp/bitbucket-sync/gateway.php?key=任意の英数字(本当になんでもいい)[/plain]
こちらも任意の数字はさきほどのテストで使用したものと同じ「gatewayAuthKey」の値です。
ここまで設定したら、作業ファイルの内容を変更して、コミットプッシュしてみてください。ほぼ時差なく、サイトへも反映されるかと思います。
以上です。


[追記]2015年12月25日
サンプルコードのリポジトリ名が仮定したリポジトリ名と違っていたので修正しました。

この記事を書いた人

石田 真啓|komete 代表