gpt4 book ai didi

digital-ocean - 从 gitlab-ci 部署 docker 容器到 digital ocean 水滴

转载 作者:行者123 更新时间:2023-12-03 09:28:54 27 4
gpt4 key购买 nike

所以这就是我想要做的。

  • 在 git 中推送到 master
  • 有 gitlab-ci 听说推送启动管道
  • 管道构建代码​​并将 docker 容器推送到 gitlab 注册表
  • 管道通过 ssh 登录到 digital ocean 水滴
  • 管道从 gitlab 注册表中拉取 docker 容器
  • 管道启动容器

  • 我可以到第 4 步没问题。但是第 4 步在各个方面都失败了。我已经尝试过 ssh key 方法:
  • https://gitlab.com/gitlab-examples/ssh-private-key/blob/master/.gitlab-ci.yml

  • 但这没有用。

    所以我尝试了这样的纯文本密码方法:
    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'

    这个版本只是退出 code 1像这样

    不会分配伪终端,因为 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?

    最佳答案

    我刚刚回答了这个相关问题:Create react app + Gitlab CI + Digital Ocean droplet - Pipeline succeeds but Docker container is deleted right after

    这是他用来设置 ssh 凭据的解决方案:

    before_script:
    ## Install ssh agent (so we can access the Digital Ocean Droplet) and run it.
    - apk update && apk add openssh-client
    - eval $(ssh-agent -s)

    ## Write the environment variable value to the agent store, create the ssh directory and give the right permissions to it.
    - echo "$SECRETS_DIGITAL_OCEAN_DROPLET_SSH_KEY" | ssh-add -
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh

    ## Make sure that ssh will trust the new host, instead of asking
    - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config

    ## Test it!
    - ssh -t ${SECRETS_DIGITAL_OCEAN_DROPLET_USER}@${SECRETS_DIGITAL_OCEAN_DROPLET_IP} 'echo $HOME'

    代码信用转到 https://stackoverflow.com/users/6655011/leonardo-sarmento-de-castro

    关于digital-ocean - 从 gitlab-ci 部署 docker 容器到 digital ocean 水滴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39586207/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com