J'ai créé un tas de travaux de pipeline de déploiement locaux, ces tâches consistent à supprimer un conteneur existant, à créer un service local, à créer une image docker, à exécuter le conteneur, etc. pas de travaux CI/CD, juste de petits pipelines pour le déploiement local pendant le développement. Ce que je veux faire maintenant est de le rendre disponible à tous nos développeurs, afin qu'ils puissent simplement faire tourner une instance locale de jenkins qui contient déjà les jobs.Créer une image Jenkins Docker avec des travaux pré-configurés
Mon fichier docker est raisonnablement tout droit ...
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
Ce que je pensais que je pouvais faire est de simplement copier un fichier de configuration du travail dans le répertoire/emploi/dossier jobname et le travail apparaîtrait, mais pas seulement cela n'apparaît-il pas, mais maintenant je ne peux pas non plus créer d'emplois manuellement. Je reçois maintenant une exception java.io.IOException "Aucun fichier ou répertoire" - Notez que lorsque je suis exec dans le conteneur en cours d'exécution, les répertoires job et jobname existent et mon fichier de configuration est là.
Des idées?
pouvez-vous s'il vous plaît fournir un peu plus de détails sur cette approche –