从 GitLab 存储库部署原始源代码
Deploy Raw Source Code from GitLab Repository
我有一个包含 WordPress 主题的 Gitlab 存储库 - php、js 和 css 文件。我想要的结果是,当我将更改推送到 repo 的 'main' 分支时,主题文件被部署,原始的,没有任何构建或测试步骤,到我的远程服务器。
我有一个 .gitlab-ci.yml 文件设置 'deploy' 作为唯一的步骤。
脚本在 'only: -main' 上触发并通过 ssh 成功访问我的远程服务器。
我不确定的是如何将整个原始存储库发送到远程。
这是我的 yml 的 'script' 部分:
- 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' 的工作树吗?
好的,我误解了 rsync 语法。我认为 --delete 标志之后包含一个参数,意思是 'delete any existing files in the following directory' 而不是它实际做的事情,即自动选择目标目录。一旦我删除了 'project-name/' 并将 GitLab(原始)文件路径更正为“/builds/username/project-name/”,部署就会按预期进行。
我有一个包含 WordPress 主题的 Gitlab 存储库 - php、js 和 css 文件。我想要的结果是,当我将更改推送到 repo 的 'main' 分支时,主题文件被部署,原始的,没有任何构建或测试步骤,到我的远程服务器。
我有一个 .gitlab-ci.yml 文件设置 'deploy' 作为唯一的步骤。
脚本在 'only: -main' 上触发并通过 ssh 成功访问我的远程服务器。
我不确定的是如何将整个原始存储库发送到远程。
这是我的 yml 的 'script' 部分:
- 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' 的工作树吗?
好的,我误解了 rsync 语法。我认为 --delete 标志之后包含一个参数,意思是 'delete any existing files in the following directory' 而不是它实际做的事情,即自动选择目标目录。一旦我删除了 'project-name/' 并将 GitLab(原始)文件路径更正为“/builds/username/project-name/”,部署就会按预期进行。