首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeship ssh命令

Codeship ssh命令
EN

Stack Overflow用户
提问于 2015-08-18 10:58:53
回答 2查看 695关注 0票数 0

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

虽然我理解这一点,但我不明白如何以单个命令的形式运行以下命令,这个过程是:

  1. ssh演示@111.1.111.101
  2. ssh用户@test-server
  3. cd部署
  4. ./ployy.sh

并不是第二个命令以demo的形式在demo上运行。

这是我目前尝试过的:

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

但是,这似乎在第一个ssh命令之后就被卡住了,它永远不会转到第二个ssh。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-18 11:55:25

代码语言:javascript
复制
ssh -t demo@111.1.111.101 'ssh user@test-server "cd deploy; ./deploy.sh"'
票数 2
EN

Stack Overflow用户

发布于 2015-08-18 11:24:49

就像user156213说的,你可能不需要两次跳转,但是无论如何,你要在ssh之后添加一个;,它破坏了一切。

一跃而起

代码语言:javascript
复制
ssh user@test-server "cd deploy ; ./deploy.sh"

您也可以尝试删除第一行。

代码语言:javascript
复制
ssh user@test-server ./deploy/deploy.sh

查看ssh中的ProxyCommand以避免跳转,编辑.ssh/config以包含类似的内容

代码语言:javascript
复制
Host first
  Hostname 111.1.111.101
  User demo

Host second 
  User user
  ProxyCommand ssh -q first nc test-server

现在用一个简单的

代码语言:javascript
复制
ssh second deploy/deploy.sh 

将完成这项工作

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32070527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档