Upload
manji-602
View
3.622
Download
0
Embed Size (px)
DESCRIPTION
3/31 開発環境構築勉強会用資料です。
Citation preview
開発環境構築勉強会資料-gitolite,gitweb編-
Jun HASHIMOTO@manji602
gitolite,gitwebとは● gitolite
– githubの個人版– バージョン管理・ユーザ管理
● gitweb
– gitoliteをWebで可視化
環境構築
● 開発環境(リモート)– さくらのVPS512(CentOS 6.2)
– Server:nginx 1.012
– PHP:php-fpm
● 開発環境(ローカル)– Mac book pro early 2011
– OS:Snow Leopard
環境構築-gitolite(1)
● 作業はローカルとリモート(さくら)でそれぞれ設定すべき点があります!
– ローカルはL:リモートはR:と表記します● Gitのインストール
– L:brew install git
– R:yum install git
● Gitolite用のユーザ作成– R:sudo /usr/sbin/useradd --shell /bin/bash
--home /home/gitolite gitolite
環境構築-gitolite(2)
● GitoliteユーザのSSH設定– R:/etc/ssh/sshd_configを設定
● AllowUser *** gitolite(<-追加)● ただし、AllowUserを設定している場合
– R:SSHの再起動● sudo /etc/init.d/sshd restart
● Gitoliteアクセス用公開鍵作成– L:cd ~/.ssh;ssh-keygen -t
– ファイル名はgitoliteで
環境構築-gitolite(3)
● 公開鍵をリモートにコピー– L:scp -p 10022 /.ssh/gitolite.pub
[email protected]:~/● ※sshのポートを変更している場合
● 公開鍵の設定– R:chown gitolite:gitolite gitolite.pub
– R:sudo mv gitolite.pub /home/gitolite/
● Gitoliteのインストール– 作業ユーザをgitoliteへ変更– R:sudo su – gitolite
環境構築-gitolite(4)
● Gitoliteのソースをgithubから取ってくる– R:mkdir ~/tmp; cd ~/tmp
– R:git clone git://github.com/sitaramc/gitolite
● Gitoliteのインストール– R: ~/tmp/gitolite/src/gl-system-install
– R: gl-setup ~/gitolite.pub
環境構築-gitolite(5)
● ローカルの接続設定– L:~/.ssh/configの編集
Host gitolite.example.com
HostName example.com
User gitolite
Port 10022
IdentityFile ~/.ssh/gitolite
● リモートから設定用リポジトリを取得– L:mkdir ~/tmp; cd ~/tmp
– L:git clone gitolite.example.com:gitolite-admin
リポジトリの追加@gitolite
● Gitolite-admin/conf/gitolite.confへ追記repo test-repo //test-repoというリポジトリを追加
RW+ = gitolite hogehoge //全権限をgitolite,hogehogeへ付与
R = hugahuga //読み込みの権限をhugahugaへ
RW= piyopiyo //読み込み+書き込みの権限をpiyopiyoへ
//@allと設定すると全てのユーザへ権限を付与できる
● Gitolite-adminの変更を反映– L:git add .
– L:git commit -m "ADD: test-repo"
– L:git push
ファイルの追加・コミット@gitolite
● 追加したリポジトリをローカルへ– L:git clone gitolite.example.com:test-repo
● ファイルの追加・コミット– L:cd test-repo
– L:touch readme.txt | echo "hogehoge" >> readme.txt
– L:git add .
– L:git commit -m "ADD: readme.txt
– L:git push origin master
ユーザの追加@gitolite
● 追加したいユーザの公開鍵をインポート– L:cd ~/tmp/gitolite-admin
– L:cp ~/hogehoge.pub ~/tmp/gitolite-admin/keydir
– L:git add .
– L:git commit -m "Add User: hogehoge"
– L:git push
環境構築-gitweb(1)
● こちらはリモートのみで完結します● インストール
– yum install gitweb libfcgi-perl libfcgi-procmanager-perl
● cgiを動かすためlibfcgi絡みもインスコ
● /etc/gitweb.confの編集– our $projectrootのコメントアウトを解除
し、”/home/gitolite/repositories/”へ
環境構築-gitweb(2)
● nginxの設定(/etc/nginx/conf.d/virtual.conf)
– 名前ベースのバーチャルホストでgitwebのページを管理する
● Webサーバ:http://yourdomain.com/● Gitweb:
http://subdomain.yourdomain.com/
環境構築-gitweb(3)server {
listen *:80;
server_name subdomain.maindomain.com;
location / {
root /var/www/git; //documentrootを/var/www/gitに作る
index gitweb.cgi;
}
location ~ gitweb\.cgi$ {
fastcgi_pass 127.0.0.1:8999; //php-fpmで127.0.0.1:9000を使用済なため
fastcgi_index gitweb.cgi;
include fastcgi_params;
}
}
環境構築-gitweb(4)
● gitweb.fcgiの導入– nginxでgitwebを動かすために
は、gitweb.fcgiを追加する必要がある● https://gist.github.com/985059
– cd /var/lib/gitolite //ここにgitweb.fcgiを置く– sudo chown gitolite:gitolite gitweb.fcgi
– sudo chmod +x gitweb.fcgi
● gitweb.fcgiの常駐化– sudo -u gitolite /var/lib/gitolite/gitweb.fcgi
--fcgi-socket=127.0.0.1:8999 --cgi-bin=/usr/share/gitweb/gitweb.cgi &
環境構築-gitweb(5)
● http://subdomain.maindomain.com/へアクセスすると、以下のような画面が出るはずです!
参考ページ● http://www.atmarkit.co.jp/fjava/rensai4/devt
ool26/devtool26_1.html ● http://totekan.jp/server/sakura-vps-
settings-git-with-gitolite/ ● http://d.hatena.ne.jp/Yudoufu/20110626/13
09066814● http://d.hatena.ne.jp/manji602/20120323/1
332468525