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. 测试

Logo

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

更多推荐