25
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

hetemlでgitでデプロイする方法

Last updated at Posted at 2015-01-23

githookという機能を使えば、リモートリポジトリにgit pushすれば自動的にコミットが展開される、というわけらしい。

hetemlでの方法をまとめました。
参考:MiddlemanのbuildディレクトリをGitでサーバーにデプロイする

heteml側

1. SSHでログイン

$ ssh -p 2222 YOU@sshXXX.heteml.jp

パスワードを求められるのでhetemlのログインパスワード(FTPパスワード)を入力。

※公開鍵方式にすればパスワードは省略可能。

2. 管理リポジトリを作成

$ mkdir repos
$ cd repos
$ mkdir YOUR_PROJECT.git
$ cd YOUR_PROJECT.git
$ git init --bare --shared

ローカルからpushされたものはここにきます。

3.公開リポジトリを作成

$ cd ~
$ cd web
$ git clone ../repos/YOUR_PROJECT.git
$ mv YOUR_PROJECT/* ./ #ファイルを全部移動
$ mv YOUR_PROJECT/.??* ./ #ドットファイルも移動
$ rm -r YOUR_PROJECT

公開領域にgitをクローンします。今回はルートディレクトリにぶちまけたいのでファイルを移動しました。

4.HOOKを作成

僕もよくわかってませんが、post-receiveというものを使えば、ローカルから管理リポジトリにpushされることで、公開リポジトリにコピーもされるらしいです。

$ vi ../repos/YOUR_PROJECT.git/hooks/post-receive
#!/bin/sh

cd /path/to/web;
git --git-dir=.git pull

hetemlの場合

#!/bin/sh

cd ~/web;
git --git-dir=.git pull

んで、実行権限をつける。

$ chmod +x post-receive

以上でサーバー側の設定はおしまい。

ローカル側

1. 作業リポジトリにリモートリポジトリを追加

$ git init
% git remote add origin ssh://YOU@sshXXX.heteml.jp:2222/~/repos/YOUR_PROJECT.git

2. あとは作業してその内容をpushするだけ

$ git add.
$ git commit -m 'hello'
$ git push origin master

これでうまくいけばサーバーに公開されているはずです。簡単!

25
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?