根据文档(https://codeship.com/documentation/continuous-deployment/deployment-with-ftp-sftp-scp/#run-commands-on-a-remote-server-via-ssh),您需要将所有命令作为单个命令运行。
虽然我理解这一点,但我不明白如何将以下内容作为单个命令运行,过程如下:
不是第二个命令在111.1.111.101
上以demo
这是我目前所尝试的:
ssh demo@111.1.111.101 "ssh user@test-server; cd deploy; ./deploy.sh"
但这似乎在第一个ssh命令后卡住了,它永远不会进入第二个ssh。
答案 0 :(得分:1)
就像用户156213说的那样,你可能不需要两次跳跃,但无论如何你要添加一个;在破坏一切的ssh之后
一次跳跃
ssh user@test-server "cd deploy ; ./deploy.sh"
您也可以尝试删除第一行
ssh user@test-server ./deploy/deploy.sh
在ssh中查看ProxyCommand以避免跳转,编辑.ssh / config以包含类似的内容
Host first
Hostname 111.1.111.101
User demo
Host second
User user
ProxyCommand ssh -q first nc test-server
现在用简单的
ssh second deploy/deploy.sh
将完成工作
答案 1 :(得分:1)
ssh -t demo@111.1.111.101 'ssh destination "cd deploy; ./deploy.sh"'