git:publishing
Gitで公開
ウェブコンテンツをGitを通して公開する方法。
サーバ上に設置したgitリポジトリへpushすると同時に、最新のリビジョンをドキュメントルートにチェックアウトするような設定にすることで、ローカルからpushするだけでリリースできるようになる。さらにリポジトリで本番リリースのリビジョン管理もできる。
負荷分散のため複数のサーバにリリースする場合や、アプリケーションの場合は、Capistrano等のデプロイツールを使った方が良いだろう。
サーバ側準備
- サーバ example.com
- リポジトリ /var/git/example.com.git
- ドキュメントルート /var/www/example.com/htdocs
公開用のリポジトリを作る
$ cd /var/git/example.com.git $ git init --bare
フックスクリプト(post-receive)を有効にして修正、以下の1行を追加。
env GIT_WORK_TREE=/var/www/example.com/htdocs git checkout -f
クライアント側操作
ウェブディレクトリをgit管理下におく
$ cd example.com/htdocs $ git init
remoteリポジトリを追加(名前は何でも良いがoriginという名前にはしない方がいいだろう、ここではwebserverにした)
$ git remote add webserver ssh://nullpon@example.com/var/git/example.com.git
webserverにpushする。
$ git push webserver master
サーバ上で最新のリビジョンがchekcoutされ、ウェブに公開される。
pushする前にリリース範囲のcommitをまとめると良いだろう。
git/publishing.txt · 最終更新: 2024/10/17 16:03 by nullpon