(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、创建项目 

  3、配置构建记录保存规则

​​ 4、配置git仓库

5、添加git凭证 

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

七、配置及构建


一、实现思路

1、在 Linux 服务器安装 docker
2、创建 jenkins 容器,拉取git上的自动化框架代码,送给python容器执行
3、根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境)
4、运行新的 python 容器,执行 jenkins 从仓库中拉下来的自动化项目
5、执行完成之后删除容器(容器会占空间,所以要释放空间)

(centos7)docker+jenkins运行python自动化_第1张图片

二、环境准备

1、在liunx上安装docker

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

2、docker安装jenkins

进入dockerhub拉取镜像

Docker Hub

(centos7)docker+jenkins运行python自动化_第2张图片

(centos7)docker+jenkins运行python自动化_第3张图片

(centos7)docker+jenkins运行python自动化_第4张图片

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

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

docker pull jenkins/jenkins:lts

(centos7)docker+jenkins运行python自动化_第5张图片

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

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

docker run -dit --name=jenkins-lem -p 1111:8080 -u=root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker jenkins/jenkins:lts

参数说明
-i:表示运行容器
-t:表示容器启动后会进入其命令行
-d:守护式方式创建容器在后台运行
--name:容器名称
-p 9999:8080:端口映射,宿主机端口:jenkins 容器端口
-u=root:指定容器用户为 root 用户
-v /var/run/docker.sock:/var/run/docker.sock:将 docker.sock 映射到 jenkins 容器中(共享目录)
docker.sock 文件是 docker client 与 docker daemon 通讯的文件
-v /usr/bin/docker:/usr/bin/docker:将宿主机 docker 客户端映射到 jenkins 容器中

4、查看启动的jenkins容器

docker ps 

三、访问前设置

1、关闭防火墙

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

2、查看IP地址

ifconfig

(centos7)docker+jenkins运行python自动化_第6张图片

四、配置jenkins容器

1、宿主浏览器jenkins

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

(centos7)docker+jenkins运行python自动化_第7张图片

2、获取密码:

1、从容器的log中查看

docker logs 容器名称

(centos7)docker+jenkins运行python自动化_第8张图片

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

3、登录成功后,进入jenkins

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

(centos7)docker+jenkins运行python自动化_第9张图片​​​​​​(centos7)docker+jenkins运行python自动化_第10张图片

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

(centos7)docker+jenkins运行python自动化_第11张图片

(centos7)docker+jenkins运行python自动化_第12张图片

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

(centos7)docker+jenkins运行python自动化_第13张图片

五、 jenkins插件安装

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

(centos7)docker+jenkins运行python自动化_第14张图片

(centos7)docker+jenkins运行python自动化_第15张图片

 1、安装git

(centos7)docker+jenkins运行python自动化_第16张图片

 2、安装docker

(centos7)docker+jenkins运行python自动化_第17张图片

 3、html Publisher安装

(centos7)docker+jenkins运行python自动化_第18张图片

4、 pipeline安装(这里暂时用不到,可以先安装)

(centos7)docker+jenkins运行python自动化_第19张图片

5、安装后重启jenkins容器

docker restart jenkins-lem

 六、创建jenkins任务

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

(centos7)docker+jenkins运行python自动化_第20张图片

2、创建项目 

(centos7)docker+jenkins运行python自动化_第21张图片

  3、配置构建记录保存规则

(centos7)docker+jenkins运行python自动化_第22张图片​ 4、配置git仓库

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

(centos7)docker+jenkins运行python自动化_第23张图片

 (centos7)docker+jenkins运行python自动化_第24张图片​ 

5、添加git凭证 

(centos7)docker+jenkins运行python自动化_第25张图片

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

(centos7)docker+jenkins运行python自动化_第26张图片

七、配置及构建

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

(centos7)docker+jenkins运行python自动化_第27张图片

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

        touch /app/Dockerfile

        

        编辑Dockerfile: vim Dockerfile

         Dockerfile文件详解:Dockerfile文件解释_文小大的博客-CSDN博客

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

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

         -t:镜像名称

        python3.7:annlin   # 这个是自己取的名字

        点(.):点表示 Dockerfile 文件所在的目录,我现在在 app 目录下,点表示当前目录

(centos7)docker+jenkins运行python自动化_第28张图片

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

6、配置jenkins项目中的构建命令

(centos7)docker+jenkins运行python自动化_第29张图片

(centos7)docker+jenkins运行python自动化_第30张图片  

7、将下列命令输入Commend框中

echo "运行容器python执行自动化"
docker run --rm -w=$WORKSPACE --volumes-from=这里是步骤2.3.3中的jenkins镜像的名称 这里写7.4步骤中取的镜像名称
echo "python执行自动化执行成功"

(centos7)docker+jenkins运行python自动化_第31张图片

8、配置测试报告

(centos7)docker+jenkins运行python自动化_第32张图片

(centos7)docker+jenkins运行python自动化_第33张图片 (centos7)docker+jenkins运行python自动化_第34张图片

配置好之后点击保存 

9、构建 jenkins 任务

(centos7)docker+jenkins运行python自动化_第35张图片

 10、查看构建日志

(centos7)docker+jenkins运行python自动化_第36张图片

(centos7)docker+jenkins运行python自动化_第37张图片

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

(centos7)docker+jenkins运行python自动化_第38张图片​ 12、解决测试报告没有样式的问题

(centos7)docker+jenkins运行python自动化_第39张图片

(centos7)docker+jenkins运行python自动化_第40张图片​ 把这个代码放进去执行:System.setProperty("
hudson.model.DirectoryBrowserSupport.CSP","")

(centos7)docker+jenkins运行python自动化_第41张图片

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

(centos7)docker+jenkins运行python自动化_第42张图片

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

(centos7)docker+jenkins运行python自动化_第43张图片

升级7.7步骤

1、在项目中创建run.sh文件,将原本7.7中的内容复制进去。

2、修改后push到远程仓库

3、将7.7中的内容改成sh run.sh,修改完成后保存

4、构建也是可以成功的,这个方式是将代码文件都放在项目中,避免在jenkins配置中写代码

你可能感兴趣的:(DevOps,docker,jenkins,docker,运维)