gpt4 book ai didi

docker - 使用预配置的作业创建 Jenkins Docker 镜像

转载 作者:IT老高 更新时间:2023-10-28 21:22:25 27 4
gpt4 key购买 nike

我创建了一堆本地部署管道作业,这些作业执行诸如删除现有容器、在本地构建服务、构建 docker 镜像、运行容器等操作。这些不是 CI/CD 作业,只是很小的在开发期间本地部署的管道。

我现在想做的是让我们所有的开发人员都可以使用它,这样他们就可以简单地启动一个已经包含作业的本地 jenkins 实例。

我的 docker 文件相当简单...

FROM jenkins:latest

USER root

RUN apt-get update
RUN apt-get install -y sudo

RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers

# Docker
RUN apt-get update
RUN apt-get dist-upgrade -y
RUN apt-get install apt-transport-https ca-certificates -y
RUN sh -c "echo deb https://apt.dockerproject.org/repo debian-jessie main > /etc/apt/sources.list.d/docker.list"
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
RUN apt-get update
RUN apt-cache policy docker-engine
RUN apt-get install docker-engine -y

# .NET Core CLI dependencies
RUN echo "deb [arch=amd64] http://llvm.org/apt/jessie/ llvm-toolchain-jessie-3.6 main" > /etc/apt/sources.list.d/llvm.list \
&& wget -q -O - http://llvm.org/apt/llvm-snapshot.gpg.key|apt-key add - \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
clang-3.5 \
libc6 \
libcurl3 \
libgcc1 \
libicu52 \
liblldb-3.6 \
liblttng-ust0 \
libssl1.0.0 \
libstdc++6 \
libtinfo5 \
libunwind8 \
libuuid1 \
zlib1g \
&& rm -rf /var/lib/apt/lists/*

#DotNetCore
RUN curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=847105
RUN mkdir -p /opt/dotnet && tar zxf dotnet.tar.gz -C /opt/dotnet
RUN ln -s /opt/dotnet/dotnet /usr/local/bin

# Minimal Jenkins Plugins
RUN /usr/local/bin/install-plugins.sh git matrix-auth workflow-aggregator docker-workflow blueocean credentials-binding

# Skip initial setup
ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false

COPY LocallyDeployIdentityConfig.xml /var/jenkins_home/jobs/identity/config.xml

USER jenkins

我认为我可以做的只是将作业配置文件复制到/jobs/jobname 文件夹中,作业就会出现,但不仅没有出现,而且现在我也无法手动创建作业。我现在得到一个 java.io.IOException “没有这样的文件或目录” - 请注意,当我执行到正在运行的容器中时,作业和作业名目录存在并且我的配置文件在那里。

有什么想法吗?

最佳答案

对于任何感兴趣的人 - 我找到了更好的解决方案。我只需将作业文件夹映射到主机上的文件夹,这样我就可以将创建的作业放入源代码管理并编辑然后添加它们,而无需构建新的 docker 镜像。

已排序。

关于docker - 使用预配置的作业创建 Jenkins Docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43691539/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com