【发布时间】:2021-06-12 18:43:40
【问题描述】:
我正在尝试设置一个由 3 个阶段(开发、登台和生产)组成的开发环境,每个阶段都部署到自己的物理服务器上。我有一个额外的服务器配置了 GitLab 来处理源代码控制。我们有一个名为“main”的分支供开发人员使用。通常,开发人员会从 main 分支,处理他们的更改并合并回 main 触发管道,该管道使用带有 shell 执行器的 gitlab-runner 更新开发服务器。 一旦一些基本测试成功运行,我们现在希望这些提交进入登台服务器。我正在尝试在我们现有管道的末尾添加一个手动步骤,以便如果认为最后一次提交已准备好继续进行更密集的测试,则开发人员可以单击 GitLab Pipelines 中的运行按钮,触发部署到登台服务器。
我想不通的是,在执行部署作业时,应该使用与登台服务器关联的运行器,而不是在开发服务器上运行的运行器。我查看了环境,但没有看到将跑步者链接到特定环境的方法。我认为用“阶段版本”之类的东西标记提交可能会起作用,看起来可能会再次在开发服务器上重新运行管道。物理服务器设置是一项硬性要求,如何实现这一点。我知道能够使用容器会使这更容易,但由于其他原因我还不能这样做。
【问题讨论】:
标签: gitlab-ci gitlab-ci-runner