是否可以让多个gitlab-runner都执行相同的作业?

时间:2019-12-17 02:09:48

标签: gitlab gitlab-ci-runner

我希望利用GitLab CI / CD / gitlab-runner使一批服务器上的自定义代码保持最新。

期望的效果是,当对GitLab中的某个项目进行提交时,几台服务器会自动将这些更改拉下来。

是否可以通过这种方式利用gitlab-runner,以便每个在项目中注册的运行器都执行Kernel文件的内容?还是有更好的工具来做到这一点?

我可以使用Ansible将更新文件下推到每个服务器,但是我正在寻找更容易解决的东西-GitLab中固有的东西。

编辑:替代解决方案

我决定按照以下说明在存储库中使用挂机前和挂机文件的路径:

https://gist.github.com/noelboss/3fe13927025b89757f8fb12e9066f2fa

基本上,我将主服务器表示为将代码推送到主存储库的主要来源,并在.git / config中将我的整个舰队定义为远程存储库。使用我所有服务器上裸仓库中的后钩子,然后可以将代码复制到正确的执行路径中。

1 个答案:

答案 0 :(得分:1)

@ ahxn81并非真的打算将转轮用于您所描述的拉动方式。您提出的Ansible push方法更符合典型的部署流程。我明白了为什么您可能更喜欢pull方法的简单性而不是通过脚本进行推送。我想这几天的服务器是通过kubernetes或docker swarm,它们可以简化最初设置后的部署。