私はCapistranoを使用して、コードを多くのマシン(数から数百)にデプロイしています。
これを行うには、Capistranoを使用します。私の知る限り、Capistranoが使用するSSHログイン用の公開鍵と秘密鍵のペアを生成する必要があります。そして、すべてのターゲットマシンに公開鍵をインストールする必要があるかもしれないと思います。私は正しいですか?
これを行うためのより良い方法はありますか?退屈です。
私はCapistranoを使用して、コードを多くのマシン(数から数百)にデプロイしています。
これを行うには、Capistranoを使用します。私の知る限り、Capistranoが使用するSSHログイン用の公開鍵と秘密鍵のペアを生成する必要があります。そして、すべてのターゲットマシンに公開鍵をインストールする必要があるかもしれないと思います。私は正しいですか?
これを行うためのより良い方法はありますか?退屈です。
はい、リモートサーバーで認証する唯一の方法です。それ以外の場合は、ユーザーとパスワードを使用する必要があります。
実際には、Puppetを使用して基本システムと公開鍵をインストールしています。次に、capistranoを使用してデプロイできます。
私からの慰めもありません。
ただし、このように見てみてください。x
公開鍵暗号を使用せずに展開するマシンがある場合は、パスワードを使用してログインする必要がありますx * #deployments
。今、あなたはただログインする必要がありますx
。展開すればするほど、メリットは大きくなります。
もちろん、1回または2回だけ展開することを計画している場合は、最小限の利点しかありません。
はい、CapistranoスクリプトがマシンにSSHで接続され、展開が開始されます。ターゲットマシンからデプロイするファイルを保持するマシンにSSHで戻る可能性が非常に高いことに注意してください。そのため、バージョン管理を処理するマシンにターゲットマシンの公開鍵を配置する必要もあります)。
質問に答えるには、はい、SSHキー認証ログインを取得するには、すべてのマシンに公開キーを配置する必要があります。展開に多数の個別のサーバーへのログインが含まれる場合は、何か間違ったことをしていることをお勧めします。頭に浮かぶ最初の解決策は、ある種のトリガー(CIビルドの成功など)に続いて、各ボックスに中央リポジトリから最新の作業コピーをチェックアウトさせることですが、プロジェクトについて詳しく知らなければ、何が最適かを判断するのは困難です。 。