所以这就是我想要做的 .

  • 推送到git中掌握

  • 让gitlab-ci听到推动启动管道

  • 管道构建代码并将docker容器推送到gitlab注册表

  • 管道通过ssh登录到数字海洋液滴

  • 管道从gitlab注册表中提取docker容器

  • 管道启动容器

我可以顺利到第4步没问题 . 但是第4步只是失败了 . 我尝试过ssh key方法:

但那没用 .

所以我尝试了这样的纯文本密码方法:

image: gitlab/dind:latest

before_script:
 - apt-get update -y && apt-get install sshpass

stages:
 - deploy

deploy:
  stage: deploy
  script:
    - sshpass -p "mypassword" ssh root@x.x.x.x 'echo $HOME'

这个版本只是像_289409那样退出

由于stdin不是终端,因此不会分配伪终端 .

ln: failed to create symbolic link '/sys/fs/cgroup/systemd/name=systemd': Operation not permitted
/usr/local/bin/wrapdocker: line 113:    54 Killed                  docker daemon $DOCKER_DAEMON_ARGS &> /var/log/docker.log
Timed out trying to connect to internal docker host.

有一个更好的方法吗?我怎样才能从gitlab-ci构建环境中访问我的Droplet?