我已使用Ubuntu安装程序在本地服务器上设置GitLab。此外,我设法用跑步者设置GitLab CI,现在我正在与他们苦苦挣扎。所以,我有几个人正在研究的PHP项目。我们已经设置了.gitlab-ci.yml文件来在Web服务器上部署文件(它也位于不同文件夹下的同一本地服务器上)。
主要问题是GitLab CI(基本上是跑步者)每次都会部署所有文件而不仅仅是推送文件。
我们希望只选择部署已更改的文件。 当前的yml文件如下所示:
pages:
stage: deploy
script:
mkdir -p /opt/lampp/htdocs/web/wp2/
mkdir -p .public
yes | cp -rf * .public /opt/lampp/htdocs/web/wp2/
only:
push
所以,我在这里遗漏了一些巨大的东西,还是有可能只是部署推送到存储库的文件?每次推动都会让跑步者做出反应。
提前感谢您的回复。
喝彩!
答案 0 :(得分:2)
现在,经过几天和投入的时间后,一些笔记就成功了......所以
pages:
stage: deploy
script:
- mkdir -p /opt/lampp/htdocs/web/wp2/
- mkdir -p .public
- cp -rfu * .public /opt/lampp/htdocs/web/wp2/
脚本我已经设法解决了我需要的东西。 " -rfu"如果源比目标(在我的情况下是Web服务器)更新,那么part是否应该替换文件。
所以,这在.yml文件中对我有用,甚至CI Lint也会给出错误,即语法不正确,跑步者会成功。我希望有人会发现这件事有用:)