我对CI & CD这个话题很陌生,所以我有一些基本的问题。但是首先,关于我当前的环境:在我的服务器上,我使用GitLab和一个网页运行Debian。我在我的网站上手动运行更新命令,如
php artisan down &&
git checkout . &&
git checkout master &&
git pull &&
composer install &&
php artisan migrate &&
php artisan up在未来,我想改善我的系统景观,使之有多个阶段。开发,QA (未来版本的演示)和PROD。从长远来看,PROD至少会有自己的服务器。但我不确定正确的设置。
现在是我的问题;当我有一个gitlab-ci.yml时,这个脚本在哪里运行,我相信在运行gitlabs的服务器上,对吗?如何在客户端运行命令,例如我的外部PROD服务器?我喜欢webhooks的概念,但是我不能有多个不同阶段的webhooks,或者?在webhook脚本中拆分不同的分支并进行验证是否有意义?
发布于 2018-01-21 20:55:44
当我有一个gitlab-ci.yml时,这个脚本在哪里运行,我相信在gitlabs运行的服务器上,对吗?
不,它运行在安装Gitlab CI Runner的独立服务器上。https://docs.gitlab.com/runner/
如何在客户端运行命令,例如我的外部PROD服务器?
在gitlab-ci.yml 文件中使用SSH,对于身份验证,您可以使用秘密变量,这在构建脚本中是可用的。不要忘记确保您是连接到正确的主机。
我喜欢webhooks的概念,但是我不能有多个不同阶段的webhooks,或者?在webhook脚本中拆分不同的分支并进行验证是否有意义?
我不会用钩子的。参见上面的教程。
在未来,我想改善我的系统景观,使之有多个阶段。开发,QA (未来版本的演示)和PROD。从长远来看,PROD至少会有自己的服务器。但我不确定正确的设置。
每个服务器都应该有自己的服务器或VM。是否可以在一台服务器上完成所有这一切。当然,但还远远没有被推荐。在这种情况下,您可以使用Gitlab 装饰品
欢迎来到斯塔克溢流!
https://stackoverflow.com/questions/48370615
复制相似问题