1

テスト シーケンスの終了後に CircleCI にデプロイするリポジトリがあり、コードは次のようになっているとします。

deployment:
      staging:
        branch: master
        commands: 
          - scp -r wp-content/plugins/timespan username@servername.provider.host:public_html/wp-content/plugins

必要な認証を設定したので、これはローカルで機能します。しかし、CircleCI では、そのコンテキストが存在しないため、次の行に入力できないパスワードの入力を求めるプロンプトが表示されます- passw0rd

だから私は成功せずに他のいくつかのことを試しました. 2) sshpass を使用してみましたが、どのパッケージ マネージャーを使用して取得するのかがわからないため、依存関係として追加できませんでした。

おそらく誰かが私を啓発することができますか?これはそれほど遠くないと思いますが、何かが欠けています。

4

2 に答える 2

2

SSH キーを暗号化する必要はありません。まったく同じ目的で CircleCi を使用しています。暗号化されていないキーを SSH 権限に追加するだけです (CircleCi の [プロジェクト設定] の [権限] セクションにあります。もちろん、サーバーには公開鍵が必要です)。authorized_keys.

それ以外の場合は、 httpscircle.yml : //circleci.com/docs/installing-custom-software/から追加のパッケージを追加できます。

circle.yml ファイルを使用して、ビルド環境に対して任意のコマンドを実行できます。sudo を介して環境にルート アクセスできるため、心ゆくまでカスタマイズできるはずです。

例:

dependencies: 
  pre:
    - sudo apt-get update; sudo apt-get install ssh-pass

これがお役に立てば幸いです。

于 2016-08-31T11:25:13.787 に答える
1

sshpassクライアント側にのみインストールする必要があります。サーバーにインストールする必要はありません。

私は CircleCI に詳しくありませんがsshpass、サーバーにインストールしようとしているように思えますが、これはまったく不要です。CircleCIsshpass -ppassw0rd scp ...を実行するサーバーにインストールした後、CircleCI デプロイ スクリプトを実行するだけで問題ありません。

于 2016-08-28T05:57:14.503 に答える