30 lines
790 B
Bash
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."
|