GitHub provides a really nice way of creating release zip files for any of your GitHub projects. Here is a very simple shell script that can be used with any non-GitHub repository for creating release ZIP files out of Git tags:
#!/bin/sh # Specify the project directory that contains .git slug="project-dir" # Specify release directory dest="releases" # Store releases in release directory mkdir -p $dest # Set the git working dir inside our project export GIT_DIR=$slug/.git # Get the latest tag tag=$(git describe --tags --abbrev=0) # Create a zip file out of the latest tag release git archive $tag --prefix="$slug/" --format=zip --output="./$dest/$slug-$tag.zip" echo "Created $dest/$slug-$tag.zip"
Where slug is the directory of your repository that contains
.git, and dest is the directory for storing release ZIP files.
Place this script one level below your project directory, name it
do-release and make sure it’s executable (
chmod +x do-release).
Please leave a comment if you know how to achieve this using Git hooks.