Files
ansible/files/home_hpf_ans_bin_ansible_pull_sh
T

44 lines
1.1 KiB
Bash

#!/bin/bash
# - Process command line
GIT_REPO_BRANCH="production"
while [ $# -gt 0 ]; do
case "$1" in
-h|--help)
echo "Usage: $0 [--branch <branch name>]"
exit 0
;;
--branch)
shift 1
if [ $# -eq 0 ] ; then echo "$0: ERROR - Branch not specified." ; exit 1 ; fi
GIT_REPO_BRANCH="$1"
shift 1
;;
esac
done
# - Include ansible virtual environment
. "${HOME}/.ansible-venv/bin/activate"
SCRIPT_NAME="$(basename "${0}")"
GIT_REPO_BASE="https://gitea.admin-a.hpetersenfamily.com/heath/ansible"
GIT_REPO="${GIT_REPO_BASE}.git"
LOG_DIR="/var/log/ansible-pull.sh"
LOG_FILE="${LOG_DIR}/ansible-pull.sh.log"
LOCK_FILE="/tmp/ansible-pull.sh.lock"
# - Redirect all further output to the log file
exec >>"${LOG_FILE}" 2>&1
# - Log that we've gotten this far
echo -n "$(basename "${0}"): $(date "+%Y-%m-%d %H:%M:%S")"
# - If we can't lock the lock file, don't proceed
exec 9>"${LOCK_FILE}"
if ! flock -n 9 ; then echo " - ERROR - Another copy of ${SCRIPT_NAME} is already running! Exiting..." ; exit 1 ; fi
# - Do our work
echo
ansible-pull --only-if-changed --url "${GIT_REPO}" --checkout "${GIT_REPO_BRANCH}" "${@}"