From bd0799561f8c8b2a47c289dec70d95177a9aa98e Mon Sep 17 00:00:00 2001 From: LamGC Date: Tue, 28 Mar 2023 00:46:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=B9=E5=99=A8=E5=86=85?= =?UTF-8?q?=E7=9A=84=20jenkins=20=E7=94=A8=E6=88=B7=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=20docker=20=E7=94=A8=E6=88=B7=E7=BB=84?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82=20(#2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 7 ++++--- start-agent.sh | 26 ++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 start-agent.sh diff --git a/Dockerfile b/Dockerfile index 6a8b15d..d68ad35 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,9 @@ FROM jenkins/inbound-agent:${BASE_TAG} USER root -RUN groupadd -g 987 docker && usermod -aG docker jenkins +COPY start-agent.sh /usr/local/bin/start.sh +RUN chmod 755 /usr/local/bin/start.sh +ENTRYPOINT [ "/bin/bash", "/usr/local/bin/start.sh" ] RUN apt-get update && apt-get install -y \ ca-certificates \ @@ -16,5 +18,4 @@ RUN apt-get update && apt-get install -y \ apt-get update && apt-get install -y docker-ce-cli docker-buildx-plugin docker-compose-plugin && \ apt-get clean && rm -rf /var/lib/apt/lists/* -USER jenkins - +ENV DOCKER_HOST=unix:///var/run/docker.sock diff --git a/start-agent.sh b/start-agent.sh new file mode 100644 index 0000000..07d3f05 --- /dev/null +++ b/start-agent.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +if [ $(id -u) != "0" ]; then + echo "This script must be run as root" + exit 1 +fi + +if [ -z "$GID" ]; then + echo "GID is not set" + exit 1 +fi +if [ -z "$UID" ]; then + echo "UID is not set" + exit 1 +fi +if ! grep -q docker /etc/group; then + groupadd -g $GID docker && usermod -aG docker jenkins + echo "Added docker group" +fi +if [ $(id -u jenkins) -ne $UID ]; then + usermod -u $UID jenkins + echo "Changed jenkins UID" +fi + +echo "Starting agent..." +runuser -u jenkins -m -g docker -- /bin/bash /usr/local/bin/jenkins-agent $@