即使存在 .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

当然,将&lt;repositories&gt;/&lt;repo&gt; 替换为您的存储库和网络服务器上的存储库的位置。

【讨论】:

以上是关于即使存在 .cpanel.yml 文件,cPanel 也不会部署的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 yml 文件中的 bash 命令将所有文件复制到新目录?

即使文件存在,文件 b'train.csv' 也不存在

FileExists() 返回 false,即使文件存在

无法打开 geoip.dat 文件。即使文件存在,“无法打开流”

找不到php类文件,即使它存在

Coldfusion 10,IIS 7.5 - 即使文件存在也得到 404