我有一些使用Jenkins管道模型定義定義的Jenkins作業,它們構建了NPM項目。我使用Docker容器來構建這些項目(僅使用node + npm + yarn的常見圖像)。如何在Jenkins管道中使用SSH?
構建的結果包含在dist/
文件夾中,我使用zip
pipeline命令壓縮了該文件夾。
我想將此zip文件複製到使用SSH/SCP(使用私鑰驗證)的其他服務器。我的私鑰被添加到Jenkins環境(憑證管理器)中,但是當我使用Docker容器時,SSH連接無法建立。
我試着添加agent { label 'master' }
來使用Jenkins主節點進行文件傳輸,但它似乎創建了一個乾淨的工作空間,帶有新的Git獲取,並且沒有構建文件。
在此先感謝您的支持。試圖SSH代理插件後
UPDATE:
試圖SSH代理插件後,我有這樣的輸出:
Identity added: /srv/jenkins3/workspace/[email protected]/private_key_370451445598243031.key (rsa w/o comment)
[ssh-agent] Started.
[myjob-TFD] Running shell script
+ scp -r dist [email protected]:/var/www/xxx
$ docker exec bfda17664965b14281eef8670b34f83e0ff60218b04cfa56ba3c0ab23d94d035 env SSH_AGENT_PID=1424 SSH_AUTH_SOCK=/tmp/ssh-k658r0O76Yqb/agent.1419 ssh-agent -k
unset SSH_AUTH_SOCK;
unset SSH_AGENT_PID;
echo Agent pid 1424 killed;
[ssh-agent] Stopped.
Host key verification failed.
lost connection
任何想法授權添加遠程主機?
我有同樣的問題,sshagent插件不能在容器中工作 – red888