Gitosisはサポートされなくなり、Debian Wheezyの安定版リリースもそう遠くはありません。 したがって、ジトライトへの移行が決定されました。 対応する
マニュアルがあるという事実にもかかわらず、それは質問への答えを与えません-「それをして、何も壊さないように?」 これについて説明します。
アイデアは次のとおりです。同じユーザーでgitoliteを生成し、その動作を確認し、ダウンタイムを最小限に抑えてgitosisをgitoliteに置き換えます。
インストールは1人のユーザーで実行されるため、競合が発生する可能性があります。 そのため、デフォルトの構成中に、次の場所で競合が発生する可能性があることが判明しました:
〜/リポジトリリポジトリが置かれているフォルダーと、これらのアプリケーションによって自動的に生成される
〜/ .ssh / authorized_keysファイル。 前者の場合、デフォルトのパスを変更することは可能ですが、後者の場合、gitoliteの著者はそのような機会を提供しませんでした。 perlがありますが、それは問題ではありません。突破しましょう。 小さなコミット
により状況が
修正されました 。 柔軟性を高めるため、ソースからインストールすることをお勧めします。 別の方法はパッケージを再構築することですが、パッケージを単に更新することに関連する利点は失われます。 したがって、最初のオプションが望ましいです。
私はすでにインストールさ
れているので、完全なインストールはペイントしません。特定のポイントのみを説明します。
gitoliteセットアップを実行する前に、
src / lib / Gitolite / Rc.pm ファイルの
GL_REPO_BASEおよびSSH_AUTH_KEYパラメーターを変更する必要があり
ます 。 たとえば、
authorized_keysを
authorized_keys_gitoliteに置き換え、
GL_REPO_BASEで別のフォルダーを指定します。 競合が除外されるため、インストールを安全に続行できます。
Gitoliteとgitosisはsshの1つのインスタンスを同時に使用できないため、2番目のインスタンスを上げましょう。 これを行うには、アドレスを
/ etc / ssh / sshd_configにコピーして
/ etc / ssh / sshd_config_gitoliteに記述し、後者を変更します。
その中の
AuthorizedKeysFileフィールドのコメントを外し、gitolite configで以前に指定されたファイルを登録する必要があります(この場合、それは
authorized_keys_gitoliteです )。 また、
Portパラメーターを別のパラメーターに置き換えて、
22222にします。
デバッグモードでsshを実行します
sudo / usr / sbin / sshd -ddd -f / etc / ssh / sshd_config_gitoliteとその動作を確認します。 これを行うには、テストリポジトリ
git clone ssh:// git @ git-server:22222 / testingを複製します 。 次に、gitolite
マニュアルに記載されている移行に進み
ます 。キーを追加し、構成を移行し、アクセス権をテストします。
最後のステップは、下痢からギトライトへの切り替えです。 これを行うには、
.ssh / authorized_keysファイルを別の場所に移動することにより、すべてのgitへのアクセスを遮断します(新しい変更がないようにします)。 次に、2つの方法があります。リポジトリを
〜/リポジトリから
〜/ repoにコピーするか、シンボリックリンクを作成します。 リポジトリを移動した後、マニュアルの説明
に従ってgitolite setupを実行します。 最後の
ステップは 、
SSH_AUTH_KEYをデフォルト値に置き換え、
authorized_keys_gitoliteファイルの名前を
authorized_keysに変更する
ことです。 したがって、移行は正常に完了しました。
肝心な点:ジトリットは独立してインストールされ、事前に構成をテストできるため、この方法は非常に簡単です。 この方法の利点は、ダウンタイムがゼロになる傾向があることです。
素敵な移行を!