gitoliteを設定してみる
gitはまだ良くわかっていないけど
リポジトリは1箇所で管理したほうがやりやすそうなんで使ってみる
Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ (Software Design plus)
- 作者: 和田裕介
- 出版社/メーカー: 技術評論社
- 発売日: 2012/11/20
- メディア: 単行本(ソフトカバー)
- 購入: 29人 クリック: 685回
- この商品を含むブログ (27件) を見る
これにも書いてあったので
やりかた
クライアントPCでssh用の鍵を作成する
$ ssh-keygen -t rsa -f git-admin $
これでアクセス用の鍵ファイルを作成すると「git-admin」、「git-admin.pub」が作成されるので.ssh配下に移動する
.ssh/configにホスト別の設定を追加
この設定を行うことで接続する際に鍵ファイルを分けることができる。
Host git-local-host HostName 192.168.51.129 User git Port 22 IdentityFile C:/Users/m_shi_000/.ssh/git-admin
gitoliteをインストールするマシンで必要なライブラリをインストール
[root@localhost ~]# yum install perl-Time-HiRes -y [root@localhost ~]#
gitユーザーの追加
[root@localhost ~]# useradd --shell /bin/bash --home /home/git git [root@localhost ~]#
クライアントPCで作成した「git-admin.pub」を配置しておく(/home/git/git-admin.pub)
[root@localhost ~]# cd /home/git/ [root@localhost git]# ll 合計 4 -rw-r--r-- 1 root root 406 2月 26 20:20 2014 git-admin.pub [root@localhost git]# chown git:git /home/git/git-admin.pub [root@localhost git]#
gitユーザーでGitoliteをインストール
[git@localhost ~]$ mkdir ~/tmp && cd ~/tmp [git@localhost tmp]$ git clone git://github.com/sitaramc/gitolite Cloning into 'gitolite'... remote: Reusing existing pack: 8358, done. remote: Total 8358 (delta 0), reused 0 (delta 0) Receiving objects: 100% (8358/8358), 3.51 MiB | 708.00 KiB/s, done. Resolving deltas: 100% (4710/4710), done. Checking connectivity... done. [git@localhost tmp]$ mkdir -p $HOME/bin [git@localhost tmp]$ gitolite/install -to $HOME/bin [git@localhost tmp]$ $HOME/bin/gitolite setup -pk ~/git-admin.pub Initialized empty Git repository in /home/git/repositories/gitolite-admin.git/ Initialized empty Git repository in /home/git/repositories/testing.git/ WARNING: /home/git/.ssh missing; creating a new one WARNING: /home/git/.ssh/authorized_keys missing; creating a new one [git@localhost tmp]$ rm -rf ~/tmp [git@localhost tmp]$ rm -f ~/git-admin.pub [git@localhost tmp]$
インストールは完了
使用
クライアントPCでcloneを実行
m_shi_000@LENOVO-WIN8-PC ~ $ git clone git-local-host:gitolite-admin Cloning into 'gitolite-admin'... remote: Counting objects: 6, done. Receiving objects: 100% (6/6), done./4) R remote: Compressing objects: 100% (4/4), done. remote: Total 6 (delta 0), reused 0 (delta 0)
conf配下の「gitolite.conf」を編集してリポジトリ情報を追加
変更前
repo gitolite-admin RW+ = git-admin repo testing RW+ = @all
↓
repo gitolite-admin RW+ = git-admin repo testing RW+ = @all repo sample1 RW+ = git-admin
保存してコミット
$ cd ~/gitolite-admin/ $ git commit -am "add repo: sample1" $ git push
gitoliteのあるマシンで確認
[git@localhost ~]$ ll repositories/ 合計 12 drwx------ 8 git git 4096 2月 20 05:20 2014 gitolite-admin.git drwx------ 7 git git 4096 2月 20 05:20 2014 sample1.git drwx------ 7 git git 4096 2月 20 05:00 2014 testing.git [git@localhost ~]$
こんな感じ
まとめ
セットアップがちょっと難しそうな感じだったけど以外と簡単にできた。
gitwebと連携して外部から参照できるように試してみる。