#!/bin/bash # -e Exit immediately if a command exits with a non-zero status. # -u Treat unset variables as an error when substituting. set -eu DOCKER_CONTEXT=vert START=`date +%s` help() { echo echo "💡 Aide 💡" echo "----------" echo echo "Commandes :" echo "- ./run install 📦 Installation des dépendances" echo "- ./run dev 🚧 Lancement du serveur pour le développement" echo "- ./run dev production 🚧 Lancement du serveur pour le développement sans les brouillons" echo "- ./run prod 🚀 Déploiement du site en mode production" echo "- ./run staging 🚀 Déploiement du site en mode staging" echo } prod() { echo echo "🚀 Déploiement du site en mode production 🚀" echo rm -rf public hugo --minify --environment production node themes/hugo-theme-lowtech/scripts/typo #DATE=`date +\"%Y0101\"` && find public -exec touch -d $DATE {} + docker-compose --context $DOCKER_CONTEXT -f docker-compose.prod.yml up -d --build --force-recreate } staging() { echo echo "🚀 Déploiement du site en mode staging 🚀" echo rm -rf public hugo --minify --environment staging node themes/hugo-theme-lowtech/scripts/typo #DATE=`date +\"%Y0101\"` && find public -exec touch -d $DATE {} + docker-compose --context $DOCKER_CONTEXT -f docker-compose.staging.yml up -d --build --force-recreate } install() { echo "📦 Installation des dépendances 📦" echo "----------------------------------" echo echo "- Récupération du theme" git submodule update --init echo "- Installation des dépendances node du theme" cd themes/hugo-theme-lowtech && npm i } if [ $# -ge 1 ]; then if [ $1 == "dev" ]; then if [ $# -ge 2 ] && [ $2 == "production" ]; then echo "🚧 Lancement du serveur pour le développement sans les brouillons" hugo server else echo "🚧 Lancement du serveur pour le développement" hugo server -D fi elif [ $1 == "prod" ]; then prod elif [ $1 == "staging" ]; then staging elif [ $1 == "install" ]; then install fi else help fi END=`date +%s` echo echo "✨ Done in $((END-START))s" echo