尝试将cpanel git存储库部署到目录时,.cpanel.yml文件的格式存在问题。

avi*_*per 6 linux git cpanel

  • 我正在使用cpanel网站管理系统。
  • 我用它创建了一个git仓库。
  • 我能够将本地代码推送到该git存储库。

当我尝试将存储库中的代码部署到服务器上的生产目录时,就会出现问题。

根据有关部署的cpanel文档,为了进行部署,git存储库必须包含.cpanel.yml使用以下示例数据提交的文件:

---
deployment:
  tasks:
    - export DEPLOYPATH=/home/user/public_html/
    - /bin/cp index.html $DEPLOYPATH
    - /bin/cp style.css $DEPLOYPATH
Run Code Online (Sandbox Code Playgroud)

我已经尝试了此文件的各种不同配置,以便能够进行部署,但无法使其正常工作。我找不到更多文档或任何进一步的开发示例或样本文件。

我的linux服务器的相关结构如下:

home/<username>/
    - git/gitrepo/
        - all of the git files and folders
    - public_html/<app_folder>/
Run Code Online (Sandbox Code Playgroud)

我想将git存储库中的所有文件和文件夹部署到该public_html/<app_folder>/目录中。

我尝试了以下不同的配置:

---
deployment:
      tasks:
        - export DEPLOYPATH=/home/<username>/public_html/<app_folder>
        - / $DEPLOYPATH

---
deployment:
  tasks:
    - export DEPLOYPATH=/home/user/public_html/
    - /bin/cp  $DEPLOYPATH

---
deployment:
  tasks:
    - export DEPLOYPATH=/home/user/public_html/
    - / index.html $DEPLOYPATH // Tried just one file to see if would work but it didn't.
---
deployment:
  tasks:
    - export DEPLOYPATH=/home/user/public_html/
    - /bin/cp index.html $DEPLOYPATH // Tried just one file to see if would work but it didn't.
Run Code Online (Sandbox Code Playgroud)

小智 10

因此,这基本上是一个bash脚本,当您更新存储在服务器上的存储库时,CPanel将运行该脚本。您的情况下的布局应为:

如果要复制示例,否则请删除所有“#条评论”

---
deployment:
      tasks:
        - export DEPLOYPATH=/home/<username>/public_html/<app_folder>
        - /bin/cp <file_name> $DEPLOYPATH #Copy specific file to destination from root
        - /bin/cp /<sub_folder>/<file_name> $DEPLOYPATH #copy specific file from source sub folder
        - /bin cp * $DEPLOYPATH #copy all from root 
        - /bin cp /<sub_folder>/* $DEPLOYPATH #copy all from sub folder root
Run Code Online (Sandbox Code Playgroud)

所以以上应该对您有用.....但是.....

如果您要把整个根都做到目的地,那么这里就是我用来复制所有根的那个。

---
deployment:
  tasks:
    - export DEPLOYPATH=/home/<user_name>/public_html #Add /<sub_folder> if required
    - /bin/cp -r * $DEPLOYPATH
Run Code Online (Sandbox Code Playgroud)
  • / bin / cp“复制命令”
  • -r“递归包括子文件夹/文件”
  • '*'“全部”

/<sub_folder>如果您需要除public_html以外的其他应用程序文件夹,请记住添加

您可以从我的仓库中获取文件:

https://github.com/FrancoisGeyser/cPanel-yml.git

希望能有所帮助。