Jenkins-CI持续集成环境构建过程,JenkinsCI,搭建,流程

发表时间:2021-05-11

自动化测试执行平台示意图:
在这里插入图片描述

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、邮件发送账号
	xxxxxx@163.com
	
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

文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890

微配音

Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号-4
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free