web-dev-qa-db-ja.com

Jenkinsがssh経由で公開してサーバーに接続できましたが、Putファイルが失敗しました

ジョブにビルドすると、コンソール出力のサーバーディレクトリにファイルを配置できないという問題が発生し、「エラー:パブリッシュ時の例外、例外メッセージ[Permission denied]」というメッセージが表示されます

次のログ出力があります。

SSH: Connecting from Host [rp_ci]
SSH: Connecting with configuration [web-dev] ...
SSH: Creating session: username [ubuntu], hostname [xx.xx.xx.xxx], port [22]
SSH: Connecting session ...
SSH: Connected
SSH: Opening SFTP channel ...
SSH: SFTP channel open
SSH: Connecting SFTP channel ...
SSH: Connected
SSH: Remote root is not absolute, getting absolute directory from PWD
SSH: cd [/home/ubuntu]
SSH: OK
SSH: cd [deploy/]
SSH: OK
SSH: put [dev-xx-xx.tgz]
SSH: Disconnecting configuration [web-dev] ...
ERROR: Exception when publishing, exception message [Permission denied]
Build step 'Send build artifacts over SSH' changed build result to UNSTABLE
Finished: UNSTABLE

ターゲットサーバーの場合、nginxを使用するAWS EC2のubuntuサーバーを使用します。

誰かがその問題を修正する方法を知っていますか?私はそれをウェブ上で見つける手掛かりを見つけませんでした。ありがとう!

4
Cuzi

put dev-xx-xx.tgz。したがって、ファイルの権限設定を確認してください:/home/Ubuntu/deploy/dev-xx-xx.tgz

1
Young

プラグインソースコード、 を確認した後、sshサーバー構成に「Remote Directory」が設定されていない場合、デフォルトで相対パスが使用されているようです。

Manage Jenkins/Confgiure Systemに移動し、ssh経由で公開するためのプラグイン設定の下で、リモートディレクトリから "/"

0
roo2