[サーバー] さくらレンタルサーバーのライトプランでGitが使えるか試してみた

月額129円で使えるさくらレンタルサーバーのライトプランで、Gitが使えたらなぁと思い、Gitが使えるかをチェックしてみました。

テスト方法

ライトプランではSSHが使えないため、PHPのsystemコマンドからGitを呼び出してみます。index.phpなど適当なファイルを用意して、ブラウザから当該ページを読み込んで実行させてみました。

テスト結果

Gitのバージョン

まずはGitが使えるかバージョンを表示させてみます。

<?php

echo system('git --version');

ブラウザからアクセスします。

git version 2.7.0 git version 2.7.0

きちんとバージョンが出ました。

Gitレポジトリの作成

続いて、Gitレポジトリを作成できるかテストします。

<?php
echo system('git init');

ブラウザからアクセスします。

Initialized empty Git repository in /home/user/www/.git/ Initialized empty Git repository in /home/user/www/.git/

きちんとレポジトリができました。

Git Clone

続いて、リモートレポジトリからのCloneができるかをチェックします。

<?php
echo system('git clone https://ID:パスワード@github.com/レポジトリ ss');

ブラウザからアクセスします。

空白ページが表示が表示されますが、サーバーを確認するときちんとレポジトリが作成されてました。

Gitコミット&リモートへプッシュ

次に、レポジトリ内のindex.phpを変更して、ステージング、コミット、プッシュまでを実行してみます。

<?php

echo system('cd ss && git add public/index.php && git commit -m "さくらライトからプッシュテスト" && git push origin master');

ブラウザからアクセスします。

[master a1d7bb9] さくらライトからプッシュテスト Committer: User XXX Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly. Run the following command and follow the instructions in your editor to edit your configuration file: git config --global --edit After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)

ユーザー名とEmailをconfigで設定しろというエラーがでましたが(初期設定していないので当たり前ですが)、プッシュはできました。リモート側にもしっかりとプッシュされていました。

Git config

ここまで来るともう出来るだろうという感じですが、一応git configでユーザーとEmailを設定しておきます。

<?php
echo system('git config user.name "testman"');
echo system('git config user.email "testman@test.com"');
echo system('git config --list');

ブラウザからアクセスします。

core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
user.name=testman
user.email=testman@test.com

設定されていました。


さくらレンタルサーバーの最安値プランでも、Gitの基本的なことはできることがわかりました。

GitlabやGitbucketなどのフックを使って、git pullするスクリプトを仕込んでおけば、公開サーバーとして使うだけなら、Gitと連携して使えそうですね。