Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台
安装指导:https://www.jenkins.io/doc/book/installing/docker/
硬件条件:
256 MB 内存
1 GB 驱动器空间(但如果运行,建议至少 10 GB Jenkins 作为 Docker 容器)
小型团队的推荐硬件配置:
4 GB+ 内存
50 GB+ 驱动器空间
在 Docker 中下载并运行 Jenkins
使用来自 Docker Hub 仓库的推荐官方 jenkins/jenkins 镜像
1、使用以下 docker 网络创建命令在 Docker 中创建桥接网络
docker network create jenkins
2、为了在 Jenkins 节点中执行 Docker 命令,请使用以下 docker run 命令下载并运行 Docker 镜像:docker:dind
这里我修改了挂载目录,到/data下,有需要就自己改
docker run \
--name jenkins-docker \
--detach \
--privileged \
--network jenkins \
--network-alias docker \
--env DOCKER_TLS_CERTDIR=/certs \
--volume /data/jenkins-docker-certs:/certs/client \
--volume /data/jenkins-data:/var/jenkins_home \
-v /data/docker:etc/docker
--publish 2376:2376 \
docker:dind \
--storage-driver overlay2
3、自定义官方 Jenkins Docker 镜像,通过执行以下两个步骤:
a、创建包含以下内容的 Dockerfile:
ARG version='2.423'
FROM jenkins/jenkins:${version}-jdk17
USER root
#如果安装慢需要更改源
#RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get install -y apt-transport-https
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
https://mirrors.cloud.tencent.com/docker-ce/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
https://mirrors.cloud.tencent.com/docker-ce/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
b、从这个 Dockerfile 构建一个新的 docker
镜像,并为该镜像分配一个有意义的名称,例如“jenkins-blueocean:2423
”:
docker build -t myjenkins-blueocean2423 .
5、使用以下 docker run
命令在 Docker
中将自己的映像作为容器运行:jenkins-blueocean:2423
docker run \
--name jenkins-blueocean \
--restart=on-failure \
--detach \
--network jenkins \
--env DOCKER_HOST=tcp://docker:2376 \
--env DOCKER_CERT_PATH=/certs/client \
--env DOCKER_TLS_VERIFY=1 \
--publish 8080:8080 \
--publish 50000:50000 \
--volume /data/jenkins-data:/var/jenkins_home \
--volume /data/jenkins-docker-certs:/certs/client:ro \
myjenkins-blueocean:2423
随后访问 ip:8080
评论区