Files

30 lines
790 B
Bash

#!/bin/sh
set -eu
export JENKINS_HOSTNAME="${JENKINS_HOSTNAME:?JENKINS_HOSTNAME is required}"
export JENKINS_USERNAME="${JENKINS_USERNAME:?JENKINS_USERNAME is required}"
export JENKINS_PASSWORD="${JENKINS_PASSWORD:?JENKINS_PASSWORD is required}"
export JJB_PATH="${JJB_PATH:?JJB_PATH is required}"
cat > /tmp/jenkins-job-builder.ini <<EOF
[job_builder]
ignore_cache=True
keep_descriptions=True
recursive=True
[jenkins]
url=${JENKINS_HOSTNAME}
user=${JENKINS_USERNAME}
password=${JENKINS_PASSWORD}
EOF
echo "Waiting for Jenkins at ${JENKINS_HOSTNAME}..."
until curl -fsS "${JENKINS_HOSTNAME}/login" >/dev/null; do
sleep 5
done
echo "Uploading jobs from ${JJB_PATH}..."
jenkins-jobs --conf /tmp/jenkins-job-builder.ini --flush-cache update "${JJB_PATH}"
echo "Jobs upload completed."