Docker 搭建 Jenkins 服务
1. Docker 搭建 Jenkins 服务
Jenkins 是一种持续集成的工具,提供了一个开放易用的软件平台,用于监控持续重复的工作。
1. Jenkins 镜像
查找 Jenkins 镜像:
# 查找 Jenkins 镜像
docker search jenkins
在线拉取 Jenkins 镜像:
# 在线拉取 Jenkins 镜像
docker pull jenkins/jenkins:version
查看镜像:
# 查看镜像
docker images
2. 启动容器
创建本地挂载目录:
# 创建本地挂载目录
mkdir -p /home/${user}/jenkins/jenkins_var
# 给挂载目录最高权限
chmod -R 777 /home/${user}/jenkins/jenkins_var
执行命令:
docker run -d \
-p 8880:8080 \
--name myjenkins \
-v /home/ubuntu/jenkins/jenkins_var:/var/jenkins_home \
--restart=on-failure \
jenkins/jenkins:version
命令解释
- -d:守护模式
- -uroot:使用 root 身份进入容器,推荐加上,避免容器内执行某些命令时报权限错误
- -p:主机 8880 端口映射容器的 8080 端口,后面访问 jenkins 直接访问主机 ip 就行了,不需要加 8080 端口
- -v:目录映射
- --name:自定义一个容器名称
查看容器是否运行:
# 查看容器是否运行
docker ps
3. 解锁 Jenkins
浏览器访问 Jenkins:http://192.168.22.8880;

查看密码:
# 进入 jenkins 终端
docker exec -it -uroot myjenkins bash
# 查看密码
cat /var/jenkins_home/secrets/initialAdminPassword
2. Jenkins 常用插件的安装
使用 Jenkins 完成自动化的持续集成,需要安装自动化测试的相关插件。
1. 在线安装



1. 安装 git 插件


2. 安装 SSH 插件

安装完成后,还需要配置启用 SSH Server,先进入安全配置:


3. 安装邮件发送插件


4. 安装 Allure 报告插件

5. 安装 HTML 插件

2. 离线安装
在线安装会自动下载插件的相关依赖并安装,而离线安装需要手动把所有的依赖包都下载好才能安装。
插件下载地址:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/
https://mirror.xmission.com/jenkins/plugins/
插件下载完成后,进行安装:

3. Jenkins 添加子节点
节点是 Jenkins 任务执行的具体环境,通常在安装 Jenkins 这台服务器默认是一个主节点,其它相对于这台安装 Jenkins 的服务器都称为从节点。
1. 配置原因
同一时间需要多台机器执行 Jenkins 任务,多态服务器都需要纳入到 Jenkins 管理的节点里才可以通过 Jenkins 管理。
不同的 Jenkins 任务要求的操作环境不同,有的需要 windows,有的需要 IOS,有的需要 Linux,为了满足任务执行需求,需要准备不同操作系统的节点。
2. 前置准备
准备一台物理机,要求可以和主节点通信,因为节点需要 java 环境,需要提前安装 jdk;
开启从节点的 SSH 服务远程访问权限;
以 window 系统为例:
1. 安装 OpenSSH


找到 OpenSSH 进行添加;
2. 开启服务
以管理员权限运行 cmd,执行命令:
net start sshd
3. 设置开机自启
按下 【win】 + R,输入 【service.msc】:

搜索 【OpenSSH SSH Server】服务,右键【属性】,将启动类型改为自动:

4. 验证 SSH 是否开启
查看当前用户:

在主节点上通过 ssh 远程连接从节点:
ssh 26490@192.168.22.1
如果这里使用的是微软账号密码,是没办法连接的,可以考虑再创建一个账号;
3. Jenkins 添加子节点


4. 节点配置


windows 目录一定要创建在 C 盘,因为 Jenkins 默认访问的是 C 盘目录;
配置启动方式,选择 SSH,进行凭证设置:




查看子节点状态:

4. Jenkins 新建项目
1. 新建 Item


2. 项目运行设置
限制项目运行节点:

创建新的凭证:



填写 gitlab 仓库地址,选择用户,选择分支:

配置触发设置:

Jenkins 的定时任务用的是 crontab 语法:
* * * * *
第一颗*表示分钟,取值0~59
第二颗*表示小时,取值0~23
第三颗*表示一个月的第几天,取值1~31
第四颗*表示第几月,取值1~12
第五颗*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
构建配置:

配置项目运行的命令行:

设置完成之后,点击保存;
3. 立即构建

查看 构建详情:

查看控制台输出:

5. Jenkins 展示自动化测试报告
1. 创建全局的 Allure Commandline
名字可以自定义,要选择版本和保存;

2. 添加构建后步骤


配置测试数据保存的位置:


3. 报告展示
构建完成后,报告可正常展示:


6. Jenkins 自动发送邮件
1. 设置 Jenkins 地址和管理员邮箱


2. 设置发件人消息

增加凭证:


QQ邮箱 生成授权码:



3. 构建任务增加构建后操作

设置收件人:

设置内容:
默认内容:
<h1><center><font>以下是Jenkins自动发送的邮件,请勿回复!</font><center></h1>
<h3><center><font color="red">allure报告在线查看or下载allurereport.zip用firefox离线查看,测试用例见附件</font><center></h3>
<br>
<hr>
<br>
项目描述: ${JOB_DESCRIPTION}<br>
<br>
<hr>
项目名称: $PROJECT_NAME<br>
构建编号: $BUILD_NUMBER<br>
构建状态: $BUILD_STATUS<br>
触发原因: ${CAUSE}<br>
构建地址: <A HREF="${BUILD_URL}">${BUILD_URL}</A><br>
构建日志地址: <A HREF="${BUILD_URL}console">${BUILD_URL}console</A><br>
系统allure测试报告: <A HREF="${PROJECT_URL}${BUILD_NUMBER}/allure">${PROJECT_URL}${BUILD_NUMBER}/allure</A><br>
<hr>
${JELLY_SCRIPT}

设置邮件发送时机:



4. 测试

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)