即使存在 .cpanel.yml 文件,cPanel 也不会部署
Posted
技术标签:
【中文标题】即使存在 .cpanel.yml 文件,cPanel 也不会部署【英文标题】:cPanel won't deploy even though .cpanel.yml file is present 【发布时间】:2019-11-21 11:56:03 【问题描述】:我的 repo 是通过 webhoster 上的 cPanel 管理的。根据各种文档,您需要在 repo 的***目录中有一个 .cpanel.yml 文件,以将文件部署到生产目录中。但它不起作用。
这是 .cpanel.yml 的内容(顺便说一句,它位于 repo 的顶层目录中):
---
deployment:
tasks:
- export DEPLOYPATH=/home/glades/public_html
- /bin/cp -r * $DEPLOYPATH
而“glades”是我的用户名。据我所知,它应该将 repo 中的所有文件部署到生产目录中,在本例中为 public_html。但是当我使用文件管理器查看 public_html 文件夹时,找不到任何文件。
The file manager shows public_html folder like this
应该有一个 README.md 和一个 index.php - 文件。但是 index.php 并没有被改变(它是旧的)并且 README.md 甚至不存在。
现在,当我进入 cPanels“Git 版本控制”的“拉取或部署”选项卡时,有 this error message。但我可以向您保证,有一个有效的 .cpanel.yml 文件(因为当我删除本地 repo 并再次克隆它时,主目录中正在下载一个 .cpanel.yml 文件)。此外,签出的分支是主分支,我是目前唯一一个在处理它的分支,所以它应该是最新的。 我不太支持它。有人看到我哪里出错了吗?赞赏!
【问题讨论】:
如果您找到了解决方案,请告诉我们 对我来说,这是服务器添加到 repo 的服务器 (error_log) 文件中未提交的更改,所以我将此文件添加到 git 并推送到远程,然后一切正常。:) 【参考方案1】:为我解决这个问题的方法是在第一个路径上使用更多上下文,这是文件将被移动的位置。在你的情况下,试试这个:
---
deployment:
tasks:
- export DEPLOYPATH=/home/glades/public_html
- /bin/cp -r /home/glades/<repositories>/<repo>/* $DEPLOYPATH
当然,将<repositories>/<repo>
替换为您的存储库和网络服务器上的存储库的位置。
【讨论】:
以上是关于即使存在 .cpanel.yml 文件,cPanel 也不会部署的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 yml 文件中的 bash 命令将所有文件复制到新目录?