Jenkins入站代理以root用户运行



我已经用以下docker文件在jenkins cloud配置中定义了一个节点,一切都很好,除了当我运行作业时它以root用户运行。

FROM jenkins/inbound-agent:alpine as jnlp
FROM maven:3.6.3-jdk-11
ARG DOCKER_VERSION=18.03.0-ce
ARG DOCKER_COMPOSE_VERSION=1.21.0
ARG USER=jenkins
USER root
COPY --from=jnlp /usr/local/bin/jenkins-agent /usr/local/bin/jenkins-agent
COPY --from=jnlp /usr/share/jenkins/agent.jar /usr/share/jenkins/agent.jar
RUN apt-get install ca-certificates wget -y 
&& rm -r /var/lib/apt/lists /var/cache/apt/archives 
&& wget https://storage.googleapis.com/kubernetes-release/release/v1.19.0/bin/linux/amd64/kubectl -q -O /usr/local/bin/kubectl 
&& chmod a+x /usr/local/bin/kubectl
RUN curl -fsSL https://download.docker.com/linux/static/stable/`uname -m`/docker-$DOCKER_VERSION.tgz | tar --strip-components=1 -xz -C /usr/local/bin docker/docker
RUN curl -fsSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
RUN touch /debug-flag
RUN useradd jenkins
USER jenkins
ENTRYPOINT ["/usr/local/bin/jenkins-agent"] 

当我的工作开始时,用户是root。我需要与非root用户运行一些工作,我在詹金斯上的共享库工作良好。我遇到的唯一问题是,当我在一些项目上运行一些带有嵌入式数据库的测试时,由于它需要在非root用户中运行。

检查您的Pod模板和容器模板,看看您是否设置了"runAsUser"one_answers";runAsGroup"。您可以设置为1000作为默认的"詹金斯";用户uid和gid

最新更新