0

gitリポジトリが配置されているサーバー(debian)が1つあります。また、継続的インテグレーションにも同じサーバーが使用されます。ビルド ステップ中に、git リポジトリがそのサブモジュールで複製/更新されます。サブモジュールのホストは subdomain.domain.tld です。このホストはまさにこの 1 つのサーバーであることに注意してください。CI を実行しているユーザーは Bamboo です。サブモジュールのホストはユーザーなしで指定されるため、ssh を介してホストに接続すると、現在のユーザーが自動的にプレフィックスとして付けられます。すべての開発者がこのサーバーにユーザーを持っているため、これは私たち開発者にとって完全に機能します。

問題はビルド サーバーにあります。git サブモジュールが更新されると、ビルド サーバーは、bamboo@localhost ではなく、bamboo@subdomain.domain.tld に接続しようとします。Bamboo@subdomain.domain.tld で使用できる ssh キーがないため、接続できません。

今のところ、使用してキーをアップロードしました

ssh-copy-id -i /home/bamboo/.ssh/id_rsa.pub subdomain.domain.tld

しかし、同じユーザーのキーを別の URL に対してのみアップロードするのは、奇妙/正しくないと思います。

この解決策は正しい/安全ですか?それとも、この問題に対するはるかに簡単な解決策はありますか?

4

1 に答える 1

1

設計どおりに動作し、これは奇妙ではありません。

~/.ssh/configビルド サーバーでこれを行うことができます。

Host sub0.domain.tld sub1.domain.tld sub2.domain.tld sub3.domain.tld
HostName localhost
# User git
# Compression no
# ControlMaster auto
于 2013-02-19T10:12:02.320 に答える