我有以下环境和设置:
我如何实现:
问题是基于我当前的设置,其中出现以下问题
还是有另一种解决方案让我实现我的计划吗?
答案 0 :(得分:2)
"我可以让gitlab-runner在本地运行(也不是在docker容器中运行因为我没有安装一个)所以它只是在 gitlab-ci.yml在分支上有所不同并部署到特定的 服务器"
是的,在您要部署的计算机上将specific runners的Shell executors注册为tags,这样他们就可以像现在使用SSH一样运行本地命令,只有您的特定项目可以使用它们。然后看看关于tags的下一个子答案。
"我可以安装多个gitlab-runner,它们只针对特定的分支机构进行了解决吗?"
使用only
or except
将某些作业固定到跑步者(例如您的部署作业)或使用purifycss-webpack将作业固定到分支机构或
标签。 (例如,您的deploy_prod作业仅在master
分支上运行)
示例.gitlab-ci.yml
文件(摘要):
deploy-dev:
tags:
- dev-runner
only:
- dev-branch
script:
- cd mydir
- git pull
deploy-prod:
tags:
- prod-runner
only:
- master
script:
- cd mydir
- git pull