我正在使用GitLab CI / CD来构建docker映像并将其推送到我的私人GitLab注册表中。
我能够从管道运行器成功地SSH到服务器中,但是传递到SSH会话中的任何命令都不会运行。
我试图从GitLab容器注册表中提取最新图像,运行它,然后退出会话以正常地(成功地)将数据传递到我的管道中。
我正在运行的命令是:
ssh -t user@123.456.789 "docker pull registry.gitlab.com/user/project:latest & docker run project:latest"
上面的命令将我连接到服务器,我看到了典型的欢迎消息,但是会话挂起并且没有运行命令。
我尝试使用heredoc
格式一次传递多个命令,但是我无法获得单个命令。
任何建议都值得赞赏。
答案 0 :(得分:1)
要进行测试,您可以尝试
ssh user@123.456.789 ls
要链接命令,请避免使用would make the first command run in the background, while acting as command separator的'&
'。
尝试:
ssh user@123.456.789 "ls; pwd"
如果可以,请尝试使用两个docker
命令,并用';
'
尝试使用docker run -td
(即I mentioned here)来分离docker进程,而不需要使用tty。