bugzilla/scripts/prod-deploy.sh
2026-03-14 20:13:25 +01:00

45 lines
1.1 KiB
Bash
Executable file

#!/bin/sh
# Deploy to production.
#
# Usage:
# scripts/prod-deploy.sh # full deployment
# scripts/prod-deploy.sh <service> # targeted deployment
# scripts/prod-deploy.sh <service> --skip docker,apache
set -eu
INVENTORY=ansible/inventories/prod/hosts.ini
PLAYBOOK=ansible/playbooks/setup.yml
service=""
skip_tags=""
while [ $# -gt 0 ]; do
case "$1" in
--skip)
skip_tags="$2"
shift 2
;;
-*)
echo "Unknown option: $1" >&2
exit 1
;;
*)
service="$1"
shift
;;
esac
done
if [ -n "$service" ]; then
echo "==> Deploying to production: $service"
if [ -n "$skip_tags" ]; then
exec ansible-playbook -i "$INVENTORY" "$PLAYBOOK" --vault-password-file .vault-pass \
--tags "$service" --skip-tags "$skip_tags"
else
exec ansible-playbook -i "$INVENTORY" "$PLAYBOOK" --vault-password-file .vault-pass \
--tags "$service"
fi
else
echo "==> Full production deployment"
exec ansible-playbook -i "$INVENTORY" "$PLAYBOOK" --vault-password-file .vault-pass
fi