11Jenkins
22===
33
4- 下面图文示例,是通过 Docker 部署 Jenkins 并将 ` Pipeline ` 脚本运行在 ` Docker ` 中的教程,这样可以方便的使用任何版本的 ` nodejs ` 或者 ` java ` 的沙盒环境
4+ 本教程展示如何在 Linux(CentOS 7) 服务器上通过 Docker 部署 Jenkins,并在 Docker 容器中运行 Pipeline 脚本。这样可以方便地使用任何版本的 Node.js 或 Java 沙盒环境。
55
66## 部署 Jenkins
77
8- 获取 Jenkins 和 Jenkins agent 镜像,上传到服务器
8+ 由于国内服务器无法直接拉取 Docker 镜像,需要先通过本机 VPN 下载 Jenkins 和 Jenkins agent 镜像,然后上传到服务器。
99
1010``` sh
1111# 获取 Jenkins 镜像
@@ -21,7 +21,7 @@ docker save -o jenkins-ssh-agent-jdk21.tar jenkins/ssh-agent:jdk21
2121scp -P 2222 jenkins-ssh-agent-jdk21.tar root@152.22.3.186:/home/docker-images
2222```
2323
24- 创建一个 ` Dockerfile ` , 基于 ` jenkins/jenkins:2.468-jdk21 ` 镜像添加 Docker 支持:
24+ 基于 ` jenkins/jenkins:2.468-jdk21 ` 镜像添加 Docker 支持,创建一个新的 Jenkins 镜像。以下是 ` Dockerfile ` 配置内容 :
2525
2626``` Dockerfile
2727FROM --platform=linux/amd64 jenkins/jenkins:2.468-jdk21
@@ -48,7 +48,7 @@ RUN groupadd docker && usermod -aG docker jenkins
4848USER jenkins
4949```
5050
51- 构建 jenkins 新的镜像
51+ 构建 Jenkins 新的镜像,命名为 ` my-jenkins-docker-2468-jdk21 `
5252
5353``` sh
5454docker build --platform=linux/amd64 -t my-jenkins-docker-2468-jdk21 .
@@ -58,25 +58,28 @@ docker save -o my-jenkins-docker-2468-jdk21.tar my-jenkins-docker-2468-jdk21
5858scp -P 2222 my-jenkins-docker-2468-jdk21.tar root@152.22.3.186:/home/docker-images
5959```
6060
61+ 在服务器上添加 Docker Compose 配置 ` docker-compose.yml ` 。以下是 ` docker-compose.yml ` 配置内容:
62+
6163``` yml
6264# https://github.com/jenkinsci/docker/blob/master/README.md#docker-compose-with-jenkins
6365services :
6466 jenkins :
6567 image : my-jenkins-docker-2468-jdk21 # 自定义镜像
6668 # image: jenkins/jenkins:2.468-jdk21
6769 ports :
68- - " 8086:8080"
70+ - " 8086:8080"
6971 volumes :
70- - jenkins_home:/var/jenkins_home
71- # 支持 docker
72- - /var/run/docker.sock:/var/run/docker.sock
72+ # 将命名卷 jenkins_home 挂载到容器内的 /var/jenkins_home 目录,用于持久化 Jenkins 的数据。
73+ - jenkins_home:/var/jenkins_home
74+ # 将宿主机的 Docker 挂载到容器内,以便在 Jenkins 容器内直接访问 Docker 引擎,从而支持在 Jenkins 中运行 Docker 命令。
75+ - /var/run/docker.sock:/var/run/docker.sock
7376 ssh-agent :
7477 image : jenkins/ssh-agent:jdk21
7578volumes :
7679 jenkins_home :
7780` ` `
7881
79- 确保您与 ` docker-compose.yml` 在同一个目录中。并启动 `Jenkins`:
82+ 确保与 ` docker-compose.yml` 在同一个目录中。并启动 `Jenkins`:
8083
8184` ` ` sh
8285docker compose up -d # 启动 Jenkins
0 commit comments