ユーザ用ツール

サイト用ツール


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