栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

(centos7)docker+jenkins运行python自动化

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(centos7)docker+jenkins运行python自动化

 目录

一、实现思路

二、环境准备

1、在liunx上安装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、在liunx上安装docker

centos7安装docker_文小大的博客-CSDN博客

2、docker安装jenkins

进入dockerhub拉取镜像

Docker Hub

 之后在已经安装好docker的liunx机器上执行该命令

我这里是拉取最后一个版本

docker pull jenkins/jenkins:lts

 安装完成后查看镜像docker images,就可以看到刚刚拉取的镜像 

3、使用刚刚拉取的镜像,启动jenkins容器

docker run -dit -p 1111:8080 --name jenkins-lem jenkins/jenkins:lts

参数说明:

-d:创建一个后台运行容器

-i:让容器的标准输入保持打开

-t:让Docker分配一个伪终端并绑定到容器的标准输入上

-p:将容器的端口暴露给宿主机端口 

1111:8080 将宿主机的1111端口映射到容器的8080端口。访问宿主机的1111端口就是访问容器的8080端口

--name:容器名称

4、查看启动的jenkins容器

docker ps 

三、访问前设置

1、关闭防火墙

请参考第三小节:mac(Intel)+VMware虚拟机搭建_文小大的博客-CSDN博客

2、查看IP地址

ifconfig

四、配置jenkins容器

1、宿主浏览器jenkins

访问http://刚刚查到的IP地址:1111

2、获取密码:

1、从容器的log中查看

docker logs 容器名称

 2、进入docker中,在页面提示的路径中查看

3、登录成功后,进入jenkins

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

​​​​​​

 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项目​ 3、配置构建记录保存规则

​ 4、配置git仓库

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

5、添加git凭证 

​​

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

七、配置及构建

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

        pip freeze > requirements.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

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

        mkdir /app

         vim /app/requirements.txt

        创建好之后查看一下,cat  vim /app/requirements.txt

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

        touch /app/Dockerfile

        

        编辑Dockerfile:

        vim Dockerfile

        内容如下,(关于dockerfile文件的解释请查看)

FROM python:3.7.4
WORKDIR /app
ADD ./requirements.txt /app
RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
CMD ["python3", "main.py"]

4、在 app 目录下执行镜像构建命令       
        docker build -t python3.7:annlin .
        -t:镜像名称

        python3.7:annlin   # 这个是自己取的名字
        点(.):点表示 Dockerfile 文件所在的目录,我现在在 app 目录下,点表示当前目录

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

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","")

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号