首页 > 解决方案 > 从 GitLab 存储库部署原始源代码

问题描述

我有一个包含 WordPress 主题的 Gitlab 存储库 - php、js 和 css 文件。我想要的结果是,当我将更改推送到存储库的“主”分支时,主题文件会以原始方式部署到我的远程服务器,而无需任何构建或测试步骤。

我有一个 .gitlab-ci.yml 文件,设置了“部署”作为其唯一步骤。

该脚本在“仅:-main”上触发并通过 ssh 成功访问我的远程服务器。

我不确定的是如何将整个原始存储库发送到远程。

这是我的 yml 的“脚本”部分:

- rsync -rav --delete project-name/ /var/opt/gitlab/git-data/repositories/project-name/ username@my.ip.add.ress:public_html/wp-site/wp-content/themes/

当管道运行时,我收到以下两个错误:

rsync: [sender] change_dir "/builds/username/project-name/project-name" failed: No such file or directory (2)

rsync: [sender] change_dir "/var/opt/gitlab/git-data/repositories/project-name" failed: No such file or directory (2)

GitLab 是否正在查看 /builds/ 它的默认行为?我没有在我的 yml 中指示它这样做。

我应该使用其他文件路径来访问存储库中“main”的工作树吗?

标签: wordpresscontinuous-integrationgitlabrsync

解决方案


好的,我误解了 rsync 语法。我认为 --delete 标志此后包含一个参数,意思是“删除以下目录中的任何现有文件”,而不是它实际执行的操作,即自动选择目标目录。一旦我删除了“project-name/”并将 GitLab(原始)文件路径更正为“/builds/username/project-name/”,部署就会按预期进行。


推荐阅读