1、搭建jenkins环境
1.1、用docker命令安装jenkins镜像
方案一:比较麻烦
1、搜索 docker search jenkins # 最新版本的
2、在这个镜像创建的容器里需要搭建python环境(一系列库)
apt指令安装
docker pull jenkins
方案二:可以从一个指定下载源的镜像拉取就行,前提是已经打包好这个镜像(jenkins+python3+pytest)
阿里云公共仓库:docker pull 镜像
docker pull registry.cn-hangzhou.aliyuncs.com/sqqdcl/jenkins
1.2、查看镜像
docker images
1.3、在宿主机的var目录下创建一个jenkins_node目录,用于挂载目录
mkdir -p /var/jenkins_node
#给一个可读可写可执行权限
chmod 777 /var/jenkins_node
1.4、创建并启动守护式容器,注意容器中的端口使用8080
docker run -id --name=Jenkins -p 1010:8080 -v /var/jenkins_node:/var/jenkins_home registry.cn-hangzhou.aliyuncs.com/sqqdcl/jenkins
1.5、修改容器配置文件对应的端口号,修改完重启容器(根据实际情况是否需要修改,此步骤在这里不是必须的!)
参考文件:修改Docker容器的端口映射和挂载目录
查看所有容器
docker ps -a
修改配置文件
/var/lib/docker/containers/容器的ID/hostconfig.json
重启容器
docker start 容器ID
1.6、查看容器是否启动
docker ps -a
1.7、查看宿主机IP
ifconfig
1.8、windows机器访问
http://宿主机ip:1010/
例如:http://192.168.221.xxx:1010
1.9、获取管理员密码
方法1:
docker logs 容器ID
f0c132f6e50d4b998fcc6b5d5ff0f671 # 管理员密码
方法2:
cat指令也可以获取管理员密码
cat /var/jenkins_node/secrets/initialAdminPassword
f0c132f6e50d4b998fcc6b5d5ff0f671 # 管理员密码
2、配置jenkins环境
2.1、安装jenkins插件
gitlab
allure
2.2、安装推荐插件,中间可能有的插件安装失败,不用管它。
创建用户名和密码,输入admin,密码admin ,保存并完成,开始jenkins。
2.3、进入插件管理
2.4、下载并安装需要的插件
安装插件gitlab,gitlab hook, allure
2.5、完成后重启jenkin服务。
docker restart 容器ID
3、设置全局变量
3.1、
JAVA_HOME # 运行Allure环境需要
GIT # 后面连接gitlab需要
Allure #自自动化测试报告生成需要
3.2、需要设置全局的有 jdk、git、allure
JAVA_HOME路径 /usr/local/openjdk-8
git路径/usr/bin/git
allure路径 /opt/allure-2.13.5
4、搭建python解释器环境 . # 容器里已经安装现成的
4、python环境验证
4.1、进入Jenkins容器内部
docker ps -a
docker exec -it c129a8131351 /bin/bash
4.2、在容器里输入 whereis python
4.3、查看python环境的安装库
pip3 list
4.4、退出容器 exit
5、pytest环境验证
5.1、使用管理员进入容器
docker exec -uroot -it 容器id /bin/bash
例如:
docker ps -a
docker exec -uroot -it c129a8131351 /bin/bash
5.2、添加pytest软连接
具体用法是:ln -s 源文件 目标文件
软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在其它的目录下用ln命令链接(link)就可以,不必重复的占用磁盘空间。
例如:
ln -s /usr/local/mysql/bin/mysql /usr/bin # 加 mysql 软连接
ln -s /opt/python3/bin/pytest /usr/bin/pytest # 加 pytest 软连接
5.3、pytest是否可以运行
6、测试发送邮件功能
6.1、邮件发送账号
[email protected]
6.2、授权码(注意:不是邮箱密码)所有第三方操作邮件都需要这个授权码(自己申请)
xxxxxx
6.3、配置
配置-1
配置-2
配置-3
001、配置完成,点击 Text configuration
002、收到邮件,测试成功,点击保存
7、执行自动化脚本
7.1、新建任务(这个场景只能做接口,做UI要用节点)
7.2、项目配置
在完成系统设置后,需要构建的项目也要进行邮件配置。
点击上方的构建后操作选项,点击保存按钮。
在面板界面可见创建好的任务,点击构建一下。
7.3、把项目的自动化脚本文件夹传到宿主机与容器挂载的目录下
方法1:gitlab自动传入
方法2:手动传入(这里演示这种方法),使用xftp工具,放到宿主机与容器挂载的目录下。
路径:/var/jenkins_node
docker ps -a
docker inspect c129 | grep Mounts -A 20
把自动化脚本文件夹放入此工程路径下
7.4、进入工程,进行配置
7.5、给权限
001、查看容器路径:docker inspect c129 | grep Mounts -A 20
002、进入容器:
cd /var/jenkins_home
cd workspace/lukeru_test
root@c129a8131351:/var/jenkins_home/workspace/lukeru_test#
003、给权限之后再次构建
chmod -R 777 /var/jenkins_home/workspace/lukeru_test
004、点击查看报告
005、这时发现依然没有通过,看控制台报什么错就解决什么就行了。这里就不演示了。
7.5、完善邮件操作,设置完毕,点击保存
报告默认内容
https://blog.csdn.net/weixin_44801980/article/details/116093566
7.6、截止的现在,再次构建,Jenkins会将我们生成的报告发送给指定的收件人。
Jenkins-CI持续集成环境部署完成!
8、常见问题
https://editor.csdn.net/md?not_checkout=1&articleId=116093828