【问题标题】:GitLab deploy to server without SSHGitLab 在没有 SSH 的情况下部署到服务器
【发布时间】:2021-05-12 13:48:00
【问题描述】:

我开始学习 GitLab CI,到现在还不懂 GitLab runner 概念:

  1. 当一个人在“prod”服务器上安装 gitlab-runner 然后用 GitLab 的令牌注册它时,有一个视频,就是这样。他的 .gitlab-ci.yml 通过安装和注册的运行器在服务器上执行。为什么没有 SSH?
  2. 如果我们通过 SSH 连接并执行部署命令,如果我们可以使用共享的,为什么我们需要安装 gitlab-runner?

【问题讨论】:

  • There is a video 什么视频?为什么不发布它的链接?还是你录的? Why there is no SSH? 询问视频中的人。你还期待什么其他答案? If we connect via SSH 在哪里?做什么的? execute deploy commands 究竟是什么命令?什么是“部署命令”? why do we need to install gitlab-runner if we can use a shared one?你不需要安装,你可以安装一个gitlab-runner,当你不想使用共享的时候。例如,您的项目需要更多时间在 gitlab.com 平台上免费提供,因此您可以设置自己的服务器。
  • @KamilCuk 你的问题比我多=) 脚本和视频无关,问题很笼统,如果您不知道答案请不要混淆其他用户=) youtube.com/watch?v=RV0845KmsNI&t=677s 这里是一个视频
  • @KamilCuk 的意思是我们需要更多详细信息(您可以编辑您的问题以添加它们)以帮助回答您的问题。不过,我建议您从他们提供的官方文档和视频开始:docs.gitlab.com/ee/ci,然后如果您对他们所说的内容有具体问题,Stack Overflow 社区可能会为您解答。

标签: gitlab gitlab-ci gitlab-ci-runner


【解决方案1】:

“考虑到执行命令的 GitLab 运行器是完全相同的服务器,使用 SSH 在您的服务器上运行这些命令可能看起来很奇怪。但它是必需的,因为运行器在 Docker 容器中执行命令,因此如果您在不使用 SSH 的情况下执行命令,您将部署在容器而不是服务器内部。有人可能会争辩说,您可以使用 shell 执行器在主机本身上运行命令,而不是使用 Docker 作为运行程序执行器. 但是,这会对您的管道产生限制,即运行器必须与您要部署到的服务器是同一台服务器。这不是一个可持续和可扩展的解决方案,因为有一天您可能希望将应用程序迁移到不同的服务器或使用不同的运行器服务器。无论如何,使用 SSH 执行部署命令是有意义的,可能是出于技术或迁移相关的原因。” (с) Mike Nöthiger

【讨论】:

    猜你喜欢
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多