This commit is contained in:
Phil Bajsicki 2024-11-18 19:14:32 +01:00
parent 8b61d19add
commit 46b3f817f6

View file

@ -14,32 +14,30 @@ The post-receive hook is like so:
#!/bin/bash #!/bin/bash
# Directory on the server where the website will be mapped. # Directory on the server where the website will be mapped.
export GIT_WORK_TREE=/srv/bajsicki.com/ export GIT_WORK_TREE=/srv/bajsicki.com/
cd $GIT_WORK_TREE
echo `pwd` echo "post-receive: Generating https://bajsicki.com with Hugo in $(pwd)"
echo "post-receive: Generating https://bajsicki.com with Hugo..."
# Create the directory and all subdirectories if they don't exist.
echo "post-receive: Creating directory and subdirs if they don't exist."
mkdir -p $GIT_WORK_TREE
chmod 755 $GIT_WORK_TREE
# Remove any files already in the public directory, a fresh copy will be generated by hugo # Remove any files already in the public directory, a fresh copy will be generated by hugo
echo "post-receive: Cleaning the /public directory." echo "post-receive: Cleaning the /public and /content directory to ensure we're in line."
rm -rf $GIT_WORK_TREE/public rm -rf public/ && echo "removing /public in $(pwd)"
rm -rf content/ && echo "removing /content in $(pwd)"
# Update the modules in case of changes and pull the new pages # Update the modules in case of changes and pull the new pages
echo "post-receive: pulling git repo and submodules" echo "post-receive: pulling git repo and submodules in $(pwd) w/ subshell"
cd $GIT_WORK_TREE && git pull --recurse-submodules (
unset $(env | sed -ne 's/^\(GIT_.*\)=.*/\1/p')
cd /srv/bajsicki.com
git pull origin main --recurse-submodules --force
)
# Generate the site with hugo # Generate the site with hugo
echo "post-receive: running hugo" echo "post-receive: running hugo in $(pwd)"
cd $GIT_WORK_TREE && hugo hugo
# Fix any permission problems. # Fix any permission problems.
echo "post-receive: fixing permissions" echo "post-receive: fixing permissions in $(pwd)"
find $GIT_WORK_TREE/public -type f -print | xargs -d '\n' chmod 644 find public -type f -print | xargs -d '\n' chmod 644
find $GIT_WORK_TREE/public -type d -print | xargs -d '\n' chmod 755 find public -type d -print | xargs -d '\n' chmod 755
echo "post-receive: Hugo site deployment complete" echo "post-receive: Hugo site deployment in $(pwd) complete"
#+end_src #+end_src