Skip to content

Instantly share code, notes, and snippets.

@rajeshisnepali
Created March 9, 2019 11:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rajeshisnepali/8fc351cd5e34e46c70c8831be25cc0c7 to your computer and use it in GitHub Desktop.
Save rajeshisnepali/8fc351cd5e34e46c70c8831be25cc0c7 to your computer and use it in GitHub Desktop.
automatically deploy to server with git
#!/bin/bash
# set up automatic deployment with git to VPS
# format :::: ./deploy-to-server.sh <project-name>
project=$1
server_www_dir=/var/www/html/$project
server_repo=/srv/git/$project.git
# create server_repo if not exists
if [ ! -d $server_www_dir ]
then
mkdir -p $server_www_dir
fi
# create server_repo if not exists
if [ ! -d $server_repo ]
then
mkdir -p $server_repo
fi
create_repo() {
# creating hooks
cd $server_repo
git init --bare
cd hooks
# Create post-receive file
sudo tee post-receive > /dev/null <<EOF
#!/bin/sh
git --work-tree=$server_www_dir --git-dir=$server_repo checkout -f
EOF
# give permission to file
chmod +x post-receive
}
# Creating Our Repository
create_repo
## Local
###### git remote add deploy ssh://<user>@<ip-address>/<path to project.git>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment