-
gitolite にキーを登録
-
gitolite のリポジトリをバックアップ
-
ubuntu bash
$ cp sample.gitolite.rc $HOME/.gitolite.rc $ edit $HOME/.gitolite.rc (下記「設定」参照)
-
gitolite インストール済み
-
gitolite ユーザーのホームディレクトリに gitolite-admin がチェックアウトされている
-
gitolite ユーザーの ~/gitolite-admin で git push が引数なしで通る
-
ssh 鍵 : ~/.ssh/$gitolite_keydir/<ユーザー名>
-
$HOME/.gitolite.rc
-
gitolite_host=“gitolite サーバーホスト or IP アドレス (設定必須)”
-
gitolite_user=“gitolite をインストールしたユーザーアカウント (default: gitolite)”
-
gitolite_home=“gitolite のホームディレクトリ (default: /home/$gitolite_user)”
-
gitolite_keydir=“gitolite の鍵をインストールするディレクトリ (default: gitolite)”
-
gitolite_admin_user=“gitolite サーバーホスト or IP アドレス (default: root)”
-
gitolite サーバー上で、自分のユーザーアカウントから gitolite の root ユーザーにアクセスできるようにする
$ ./create_root_user.sh ssh-keygen が走るので、パスフレーズを「空」で作る 最後に表示される内容を .ssh/config に追記する $ edit .ssh/config ... $ ssh root-ans-git info (gitolite から、アクセスできるリポジトリが返されることを確認) $ git clone root-ans-git:gitolite-admin (今後の設定のために、 home に gitolite-admin をチェックアウトしておく)
gitolite サーバー上で、自分のユーザーアカウントから gitolite の ユーザー にアクセスできるようにする
$ ./create_user.sh <ユーザー> ssh-keygen が走るので、パスフレーズを「空」で作る 最後に表示される内容を .ssh/config に追記する $ edit .ssh/config ... $ ssh <ユーザー>-ans-git info (gitolite から、アクセスできるリポジトリが返されることを確認)
gitolite サーバー以外の機械で、自分のユーザーアカウントから gitolite の ユーザー にアクセスできるようにする
$ ./install_gitolite_key.sh <ユーザー> ssh-keygen が走るので、パスフレーズを「空」で作る 最後に表示される内容を .ssh/config に追記する $ edit .ssh/config ... $ ssh <ユーザー>-ans-git info (gitolite から、アクセスできるリポジトリが返されることを確認)
gitolite ユーザーでバックアップホストに push して、 gitolite-backup ユーザーでアーカイブを作成する
gitolite が稼動している機械と gitolite-backup を稼働させる機械は別なものにしないと意味が薄い
アーカイブしたファイルはどこか別な場所にコピーしないと意味が薄い
gitolite-backup の repositories/$gitolite_backup_prefix を元の gitolite/repositories に移せばそのまま稼働できる
-
バックアップ用 gitolite インストール済み
-
バックアップ
-
リポジトリディレクトリの読み込み権限がある
-
リポジトリをバックアップするホストにパスワードなしで push 出来る
-
-
アーカイブ
-
アーカイブディレクトリに書き込み権限がある
-
-
バックアップ : ~/.gitolite.backup
-
アーカイブ : ~/.gitolite.archives
-
$HOME/.gitolite.rc
-
バックアップ
-
gitolite_backup_ssh=“バックアップホストへ push するための ssh エイリアス (設定必須)”
-
gitolite_repo_path=“gitolite リポジトリディレクトリのパス (default: ~/repositories)”
-
gitolite_backup_path=“バックアップディレクトリのパス (default: ~/.gitolite.backup)”
-
gitolite_backup_prefix=“バックアップディレクトリの接頭辞 (default: gitolite-backup)”
-
-
アーカイブ
-
gitolite_archive_path=“アーカイブディレクトリのパス (default: ~/.gitolite.archives)”
-
gitolite_tools_root=“gitolite-tools のデプロイパス (default: ~/gitolite-tools)”
-
gitolite_archive_expire_days=“アーカイブを保持する日数 (default: 14)”
-
-
-
$gitolite_repo_path に存在する *.git ディレクトリを検索
-
リポジトリを ~/.gitolite.backup 以下に clone
-
リポジトリを $gitolite_backup_ssh に push
-
$gitolite_repo_path を $gitolite_archive_path に tar.gz でアーカイブ化
-
$gitolite_archive_expire_days 日以前のアーカイブは削除