Files
timmypidashev.dev/web
T
2023-11-09 13:59:15 -08:00

85 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# Commandline args
action="$1"
environment="$2"
# Set the build arguments as environment variables
export BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
export GIT_COMMIT=$(git rev-parse --short HEAD)
case $action in
help)
echo "timmypidashev.com | deploy script"
echo "Environments:"
echo " * dev"
echo " - development environment, builds include local https, debug mode, and hot reloading"
echo ""
echo " * prod"
echo " - production environment, builds include optimizations and are ready to roll"
echo ""
echo "Actions:"
echo " * build"
echo " - builds either the entire stack without cache or select container"
echo " - example: '{action} {environment}' or '{action} {container} {environment}'"
echo ""
echo " * run"
echo " - runs the entire stack with caching enabled"
echo " - example: '{action} {environment}'"
echo " - Note: individual containers cannot run on their own"
echo ""
echo " * bump"
echo " - bumps a containers version and the project version"
echo " - example: '{action} {container}'"
echo ""
echo " * push"
echo " - pushes an image to ghcr.io"
echo " - example: '{action} {container}"
echo " - Note: only production images are pushed"
exit 1
;;
build)
if [ "$environment" == "dev" ];
then
echo "build dev"
elif [ "$environment" == "prod" ];
then
echo "build prod"
else
echo "Invalid environment. Use 'dev' or 'prod'!"
exit 1
fi
;;
run)
if [ "$environment" == "dev" ];
then
echo "run dev"
elif [ "$environment" == "prod" ];
then
echo "run prod"
else
echo "Invalid environment. Use 'dev' or 'prod'!"
exit 1
fi
;;
bump)
"bump pkg"
;;
push)
"push pkg"
;;
*)
echo "Invalid action. Use 'build', 'run', or 'push'!"
;;
esac