Just starting to learn how to set up git repository on my server with cPanel.
It says that i have to have a file called .cpanel.yml in the root folder for it to work.
It gave me this file example:
---
deployment:
tasks:
- export DEPLOYPATH=/home/user/public_html/
- /bin/cp index.html $DEPLOYPATH
- /bin/cp style.css $DEPLOYPATH
What is neccesary for me to write here instead of line 5-6 to upload everything?
I guess line 4 is correct if it should upload to home/user/public_html folder.
Thanks for all the help.
4
Answers
The codes
Are linux codes
The cp command by default takes two positional arguments, source, and destination. By default, it will only copy files, not directories. But cp can be passed various options and arguments to change this behavior.
To copy all files, including subdirectories, the command you want to use is probably
That should recursively copy all files and directories from the repository directory to the deploy path.
You only need this part of the .cpanel.yml:
The parts listed after “tasks:” are option Linux Bash Commands.
Because I found it a challenge and there’s no good documentation, I’m posting what I used. Replace
USER
andPROJECT
with your own folders.It’s possible to use
cp
, but it’s a pain, because you don’t want to copy the.git
folder, and you can’t exclude folders easily. I usedrsync
.Setting the permissions is necessary if your git repo doesn’t have the correct file/folder permissions. This happens often if you check in code from Windows.
You may need to change the deploy process for your own uses. See this guide for file permissions: https://www.a2hosting.com/kb/cpanel/cpanel-file-features/cpanel-file-manager/file-permissions
For recursive file you can use: