2019/5/26

エックスサーバーにgitでデプロイする環境を作る

この記事は、以前ポートフォリオサイトに掲載していた内容を復元したものです。情報が古い場合があります。

参考

  1. レンタルサーバXSERVER(エックスサーバ)にGitをインストールしてリモート接続 | helog
  2. git pushで本番環境に“自動デプロイ”できる環境を作ってみよう! | vdeep

やること

  1. xserverにgitを入れる(参考1)
  2. publicじゃないところにベアリポジトリをつくる
$ cd ~/path/to/repos
$ git init --bare --shared myservice.git
  1. ローカルでつくったプロジェクトをこのリポジトリにプッシュする
# これはローカルでの作業
$ git init
$ git remote add xserver xserver:~/path/to/repos/myservice.git
$ git push xserver master
  1. xserver内で、プロジェクトを配置したい場所でベアリポジトリをcloneする
# ここからはサーバーでの作業
# 以下のコマンドでmyserviceディレクトリ配下にファイルを展開する
$ git clone myservice.git myservice
  1. post-receiveをつくる。実行権限もつける。
vi myservice.git/hooks/post-receive
chmod +x myservice.git/hooks/post-receive

post-receiveの内容は以下の通り。

#!/bin/bash

cd ~/path/to/myservice
git --git-dir=.git pull ~/path/to/repos/myservice.git master

(おまけ)プロジェクト内にpublic_htmlの役割を果たすディレクトリがある場合の設定

  1. 既存のpublic_html(または配下のサブドメインディレクトリ)を削除
  2. 代わりに同名のシンボリックリンクを貼る
$ cd ~/mydomain.com/public_html
$ rm -rf subdomain
$ ln -s ~/path/to/myservice/public subdomain
Share with Hatena Bookmark

関連記事