1
1
Jenkins
2
2
===
3
3
4
- 下面图文示例,是通过 Docker 部署 Jenkins 并将 ` Pipeline ` 脚本运行在 ` Docker ` 中的教程,这样可以方便的使用任何版本的 ` nodejs ` 或者 ` java ` 的沙盒环境
4
+ 本教程展示如何在 Linux(CentOS 7) 服务器上通过 Docker 部署 Jenkins,并在 Docker 容器中运行 Pipeline 脚本。这样可以方便地使用任何版本的 Node.js 或 Java 沙盒环境。
5
5
6
6
## 部署 Jenkins
7
7
8
- 获取 Jenkins 和 Jenkins agent 镜像,上传到服务器
8
+ 由于国内服务器无法直接拉取 Docker 镜像,需要先通过本机 VPN 下载 Jenkins 和 Jenkins agent 镜像,然后上传到服务器。
9
9
10
10
``` sh
11
11
# 获取 Jenkins 镜像
@@ -21,7 +21,7 @@ docker save -o jenkins-ssh-agent-jdk21.tar jenkins/ssh-agent:jdk21
21
21
scp -P 2222 jenkins-ssh-agent-jdk21.tar
[email protected] :/home/docker-images
22
22
```
23
23
24
- 创建一个 ` Dockerfile ` , 基于 ` jenkins/jenkins:2.468-jdk21 ` 镜像添加 Docker 支持:
24
+ 基于 ` jenkins/jenkins:2.468-jdk21 ` 镜像添加 Docker 支持,创建一个新的 Jenkins 镜像。以下是 ` Dockerfile ` 配置内容 :
25
25
26
26
``` Dockerfile
27
27
FROM --platform=linux/amd64 jenkins/jenkins:2.468-jdk21
@@ -48,7 +48,7 @@ RUN groupadd docker && usermod -aG docker jenkins
48
48
USER jenkins
49
49
```
50
50
51
- 构建 jenkins 新的镜像
51
+ 构建 Jenkins 新的镜像,命名为 ` my-jenkins-docker-2468-jdk21 `
52
52
53
53
``` sh
54
54
docker 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
58
58
scp -P 2222 my-jenkins-docker-2468-jdk21.tar
[email protected] :/home/docker-images
59
59
```
60
60
61
+ 在服务器上添加 Docker Compose 配置 ` docker-compose.yml ` 。以下是 ` docker-compose.yml ` 配置内容:
62
+
61
63
``` yml
62
64
# https://github.com/jenkinsci/docker/blob/master/README.md#docker-compose-with-jenkins
63
65
services :
64
66
jenkins :
65
67
image : my-jenkins-docker-2468-jdk21 # 自定义镜像
66
68
# image: jenkins/jenkins:2.468-jdk21
67
69
ports :
68
- - " 8086:8080"
70
+ - " 8086:8080"
69
71
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
73
76
ssh-agent :
74
77
image : jenkins/ssh-agent:jdk21
75
78
volumes :
76
79
jenkins_home :
77
80
` ` `
78
81
79
- 确保您与 ` docker-compose.yml` 在同一个目录中。并启动 `Jenkins`:
82
+ 确保与 ` docker-compose.yml` 在同一个目录中。并启动 `Jenkins`:
80
83
81
84
` ` ` sh
82
85
docker compose up -d # 启动 Jenkins
0 commit comments