2019/08/12追記
この記事みたいな古典的な方法じゃなくて、Jenkinsや、Circle CI、Azure PipelinesなどのCIツール使うのがベスト。
はじめに
GitHubからさくらのレンタルサーバーに自動デプロイしたいな、と思って調べたら記事が何個かあった。しかし少し変わった部分があったので再まとめ的な感じ。
参考記事は最後に貼っておく。
gitの導入
SSHログイン
ssh アカウント名@アカウントのドメイン.sakura.ne.jp
Bashに変更
bash
curl-develのインストール
こいつが無いと、httpsでのcloneができなかった。
curl Downloadより。
ここでは7.64.0
作業ディレクトリは$HOME/local/src
。インストール先は$HOME/local
。
mkdir -p $HOME/local/src
cd $HOME/local/src
wget https://curl.haxx.se/download/curl-7.64.0.tar.gz
$ tar zxvf curl-7.64.0.tar.gz
$ cd curl-7.64.0.
$ ./configure -prefix=$HOME/local
$ make
$ make install
gitのインストール
まずGoogle Code Archive git-coreにてgitのソースコードの確認。ここでは1.9.0
を使用する。
./configure
にオプションを少々追加する。
cd $HOME/local/src
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/git-core/git-1.9.0.tar.gz
tar zxvf git-1.9.0.tar.gz
cd git-1.9.0
./configure -prefix=$HOME/local -with-curl=$HOME/local --enable-pthreads=-pthread
gmake all
gmake install
パスの追加
別のディレクトリにインストールしたらスルー。
cd ~/
vim .shrc
pathに追記。
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/local/bin $HOME/bin )
GitHubからcloneする
cloneするディレクトリは$HOME/www/test/
cd ~/www/test
git clone https://github.com/*******/*******.git
デプロイ用php作成
master
ブランチをpull
する場合。
<?
exec('git -C /home/アカウント名/www/test pull origin master', $op);
echo "<pre>";
var_dump($op);
echo "</pre>";
?>
webhook設定
GitHubのリポジトリ設定にて
URL
に作成したphpファイルのURLを指定。
trigger設定
今回はReleases
のみにチェックを入れた。
みなさんのお好みで。
ここにも書いてあるけど、セキュリティには気をつけなければ…