wordpress - 从 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”的工作树吗?
解决方案
好的,我误解了 rsync 语法。我认为 --delete 标志此后包含一个参数,意思是“删除以下目录中的任何现有文件”,而不是它实际执行的操作,即自动选择目标目录。一旦我删除了“project-name/”并将 GitLab(原始)文件路径更正为“/builds/username/project-name/”,部署就会按预期进行。
推荐阅读
- typescript - NestJS 类型错误:this.service.function 不是函数
- javascript - 将新项目添加到
标记并动态分配给下拉列表
- c# - 使用按钮清除 WPF-Helix 工具包 3D 视图
- date - 在红移中的 2 个日期之间提取数据
- command-line-interface - PlasticSCM CLI - 如何列出 repo 中的所有文件夹?
- amazon-web-services - 您的内部负载均衡器必须有一个私有子网
- c# - C#如何订阅用户控件事件/用户控件没有实例名称
- devops - 具有多个存储库的 Azure Yaml 管道,基于错误的存储库构建摘要
- javascript - 如何在 WebRTC 中检测冻结的视频流
- android - 如何在 Android 中从图库中选择多个图像