(mac)Docker+jenkins+pipeline运行python接口自动化项目

目录

一、实现思路

二、环境准备

1、在mac上安装docker

2、docker安装jenkins

三、配置jenkins容器

四、 jenkins插件安装

 1、安装git

 2、安装docker

 3、html Publisher安装

4、 pipeline安装

5、安装后重启jenkins容器

五、创建jenkins任务

1、重新登录jenkins,点击new item

2、选择创建pipeline项目​ 3、配置构建记录保存规则

​ 4、配置git仓库

5、添加git凭证 

6、配置完成点击保存即可

六、配置及构建

一、实现思路

1、在mac安装 docker
2、创建 jenkins 容器
3、jenkins 中创建 pipeline 项目
4、根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境)
5、运行新的 python 容器,执行 jenkins 从仓库中拉下来的自动化项目
6、执行完成之后删除容器

二、环境准备

1、在mac上安装docker

Mac安装docker

2、docker安装jenkins

docker run --name=jenkins_save01 -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

参数说明:

--name :容器名称

 -p 9999:8080:端口映射,宿主机端口:jenkins 容器端口   

-v jenkins_home:/var/jenkins_home:将宿主机 docker 客户端映射到 jenkins 容器中

jenkins/jenkins:lts   jenkins镜像

安装成功后,你会在docker客户端看到这个容器,并且是启动状态

(mac)Docker+jenkins+pipeline运行python接口自动化项目_第1张图片

 docker命令看启动的容器,docker ps 

三、配置jenkins容器

1、浏览器访问http://127.0.0.1:8080

2、从上边的提示中获取到管理员密码登录进去。

这一步会比较慢,请耐心等待。 

 3、(mac)Docker+jenkins+pipeline运行python接口自动化项目_第2张图片

 4、设置管理员用户名和密码(以后就用这个账号密码登陆你的 jenkins)

5、jenkins 初始化完成看到如下界面 

四、 jenkins插件安装

接上一步开始使用jenkins,进入到如下界面。注,安装过过程中出现失败,就找到失败的插件重新安装一下就可以了。

 1、安装git

 2、安装docker

 3、html Publisher安装

4、 pipeline安装

5、安装后重启jenkins容器

docker restart jenkins_save01

五、创建jenkins任务

1、重新登录jenkins,点击new item

2、选择创建pipeline项目(mac)Docker+jenkins+pipeline运行python接口自动化项目_第3张图片 3、配置构建记录保存规则

 4、配置git仓库

        远程仓库地址要去gitee上去复制链接

(mac)Docker+jenkins+pipeline运行python接口自动化项目_第4张图片

5、添加git凭证 

6、配置完成点击保存即可

六、配置及构建

1、将项目的依赖包导出到 requirements.txt 文件中,txt 文件名称可以随意写

        pip freeze > requirements.txt

2、在宿主机(安装 docker 的机子)上新建一个目录(我的目录在/app),将 requirements.txt 文件复制进去

3、在app 目录下创建 Dockerfile 文件(文件名必须是 Dockerfile,没有后缀)

4、我的requirement.txt 文件内容如下

unittestreport==1.3.2
openpyxl==3.0.7
ddt==1.4.2
pytest==6.2.2
selenium==3.141.0
pymysql==1.0.2
faker==8.1.0
jsonpath==0.82
BeautifulReport==0.1.3
rsa==4.7.2
pytest-html==3.1.1
allure-pytest==2.9.43
requests-toolbelt==0.9.1

5、Dockerfile 内容以及解释如下

FROM python:3.7.4  #基于python:3.7.4这个基础镜像镜像构建镜像
WORKDIR /app   #切换工作空间目录
ADD ./requirements.txt /app #将python项目依赖包文件添加到镜像
RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple #安装依赖包
CMD ["python3", "main.py"] #设置容器执行后自动执行的命令,这里main.py是我们自动化框架的执行入口文件

在 app 目录下执行镜像构建命令
docker build -t python3.7:annlin .
-t:镜像名称
点(.):点表示 Dockerfile 文件所在的目录,我现在在 app 目录下,点表示当前目录

6、构建成功后会看到一个新的镜像(命令:docker images)

(mac)Docker+jenkins+pipeline运行python接口自动化项目_第5张图片

7、创建 build.sh 文件并放到python项目的根目录下

echo "运行容器python执行自动化"
docker run --rm -w=$WORKSPACE --volumes-from=jenkins_save01 python3.7:annlin
echo "python执行自动化执行成功"

8、 写 Jenkinsfile 文件并将放到python项目的根目录下

pipeline{
    //配置执行环境
    agent any
    //配置构建过程
	stages{
		stage('build'){
			steps{
			    echo '开始执行shell脚本'
				sh 'sh build.sh'
			}
		}//stage
	}//stages
 
   //配置构建后操作
	post{
        always{
          echo 'Pipeline 构建成功'
                   		publishHTML(target:[allowMissing: false,
					 alwaysLinkToLastBuild: true,
					 keepAll: true,
					 reportDir: 'reports',
					 reportFiles: '*.html',
					 reportName: 'My Reports',
					 reportTitles: 'The Report'])
        }
    }//post
}//pipeline

8、提交代码到git仓库

git add .

git commit -am'update'

git push

9、构建 jenkins 任务

 10、查看构建日志

11、查看测试报告,此时的测试报告会没有样式,因为被 Jenkins 禁用了 CSS 样式,需要我们手动解决

 12、解决测试报告没有样式的问题

 把这个代码放进去执行:System.setProperty("
hudson.model.DirectoryBrowserSupport.CSP","")

 执行成功返回是空,说明没问题

重新构建就可以看到漂亮的测试报告了 

番外:jenkins介绍

jenkins流程

 jenkins特点

1、跨平台的

2、所有的功能都是通过各种插件来支持的

你可能感兴趣的:(DevOps,docker,jenkins,docker,自动化)