Codeship ssh 命令

Codeship ssh commands

根据文档 (https://codeship.com/documentation/continuous-deployment/deployment-with-ftp-sftp-scp/#run-commands-on-a-remote-server-via-ssh),您需要运行将所有命令作为一个命令。

虽然我明白这一点,但我不明白如何 运行 将以下内容作为单个命令执行,过程是:

  1. ssh demo@111.1.111.101
  2. ssh user@test-server
  3. cd 部署
  4. ./deploy.sh

并不是说第二个命令是 运行 on 111.1.111.101 as demo

这是我目前尝试过的:

ssh demo@111.1.111.101 "ssh user@test-server; cd deploy; ./deploy.sh"

但这似乎在第一个 ssh 命令后卡住了,它永远不会进入第二个 ssh。

就像 user156213 说的,你可能不需要两次跳转,但无论如何你要添加一个;在破坏一切的 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 

会完成工作

ssh -t demo@111.1.111.101 'ssh user@test-server "cd deploy; ./deploy.sh"'