Implement fully automated Jenkins HW8 setup with Ansible, JCasC and JJB

This commit is contained in:
2026-04-15 22:56:40 +03:00
parent 9f801e52a4
commit 2aa8a49ee1
46 changed files with 1333 additions and 412 deletions
+32
View File
@@ -0,0 +1,32 @@
FROM eclipse-temurin:21-jre
ARG DOCKER_COMPOSE_VERSION=2.36.2
ARG ALLURE_VERSION=2.29.0
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
docker.io \
unzip \
&& rm -rf /var/lib/apt/lists/*
RUN curl -fsSL -o /usr/local/bin/swarm-client.jar \
https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/swarm-client/3.51/swarm-client-3.51.jar
RUN mkdir -p /usr/local/lib/docker/cli-plugins \
&& curl -fsSL -o /usr/local/lib/docker/cli-plugins/docker-compose \
"https://github.com/docker/compose/releases/download/v${DOCKER_COMPOSE_VERSION}/docker-compose-linux-x86_64" \
&& chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
RUN curl -fsSL -o /tmp/allure.zip \
"https://github.com/allure-framework/allure2/releases/download/${ALLURE_VERSION}/allure-${ALLURE_VERSION}.zip" \
&& unzip -q /tmp/allure.zip -d /opt \
&& ln -s "/opt/allure-${ALLURE_VERSION}" /opt/allure \
&& ln -s /opt/allure/bin/allure /usr/local/bin/allure \
&& rm -f /tmp/allure.zip
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -euo pipefail
: "${JENKINS_URL:?JENKINS_URL is required}"
: "${JENKINS_USER:?JENKINS_USER is required}"
: "${JENKINS_PASSWORD:?JENKINS_PASSWORD is required}"
: "${JENKINS_AGENT_NAME:?JENKINS_AGENT_NAME is required}"
exec java -jar /usr/local/bin/swarm-client.jar \
-master "${JENKINS_URL}" \
-username "${JENKINS_USER}" \
-password "${JENKINS_PASSWORD}" \
-name "${JENKINS_AGENT_NAME}" \
-labels "${JENKINS_LABELS:-maven docker}" \
-executors 1 \
-mode exclusive \
-disableSslVerification