目录

一、实现思路

二、环境准备

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、执行完成之后删除容器(容器会占空间,所以要释放空间)


docker插件自动运行 maven docker运行自动化_docker

二、环境准备

1、在liunx上安装docker

2、docker安装jenkins

进入dockerhub拉取镜像

Docker Hub

docker插件自动运行 maven docker运行自动化_docker_02

docker插件自动运行 maven docker运行自动化_jenkins_03

docker插件自动运行 maven docker运行自动化_运维_04

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

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

docker pull jenkins/jenkins:lts

docker插件自动运行 maven docker运行自动化_docker插件自动运行 maven_05

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

docker插件自动运行 maven docker运行自动化_jenkins_06

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 

docker插件自动运行 maven docker运行自动化_python_07

三、访问前设置

1、关闭防火墙

2、查看IP地址

ifconfig

docker插件自动运行 maven docker运行自动化_python_08

四、配置jenkins容器

1、宿主浏览器jenkins

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

docker插件自动运行 maven docker运行自动化_jenkins_09

2、获取密码:

1、从容器的log中查看

docker logs 容器名称

docker插件自动运行 maven docker运行自动化_python_10

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

3、登录成功后,进入jenkins

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

docker插件自动运行 maven docker运行自动化_docker插件自动运行 maven_11


docker插件自动运行 maven docker运行自动化_jenkins_12

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

docker插件自动运行 maven docker运行自动化_jenkins_13

docker插件自动运行 maven docker运行自动化_运维_14

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

docker插件自动运行 maven docker运行自动化_python_15

五、 jenkins插件安装

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

docker插件自动运行 maven docker运行自动化_运维_16

docker插件自动运行 maven docker运行自动化_jenkins_17

 1、安装git

docker插件自动运行 maven docker运行自动化_运维_18

 2、安装docker

docker插件自动运行 maven docker运行自动化_jenkins_19

 3、html Publisher安装

docker插件自动运行 maven docker运行自动化_jenkins_20

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

docker插件自动运行 maven docker运行自动化_运维_21

5、安装后重启jenkins容器

docker restart jenkins-lem

 六、创建jenkins任务

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

docker插件自动运行 maven docker运行自动化_运维_22


2、创建项目 

docker插件自动运行 maven docker运行自动化_运维_23

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

 4、配置git仓库

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

docker插件自动运行 maven docker运行自动化_python_24

 

docker插件自动运行 maven docker运行自动化_jenkins_25

 

5、添加git凭证 

docker插件自动运行 maven docker运行自动化_运维_26


docker插件自动运行 maven docker运行自动化_docker_27


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

docker插件自动运行 maven docker运行自动化_python_28


七、配置及构建

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

docker插件自动运行 maven docker运行自动化_docker_29

         vim /app/requirements.txt

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

docker插件自动运行 maven docker运行自动化_docker插件自动运行 maven_30

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

        touch /app/Dockerfile

        

docker插件自动运行 maven docker运行自动化_docker_31

        编辑Dockerfile: vim Dockerfile

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 目录下,点表示当前目录

docker插件自动运行 maven docker运行自动化_python_32



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


docker插件自动运行 maven docker运行自动化_运维_33


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

docker插件自动运行 maven docker运行自动化_jenkins_34

docker插件自动运行 maven docker运行自动化_docker插件自动运行 maven_35

  

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


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


docker插件自动运行 maven docker运行自动化_docker_36

8、配置测试报告

docker插件自动运行 maven docker运行自动化_docker插件自动运行 maven_37

docker插件自动运行 maven docker运行自动化_docker_38

 

docker插件自动运行 maven docker运行自动化_docker_39

配置好之后点击保存 

9、构建 jenkins 任务

docker插件自动运行 maven docker运行自动化_docker插件自动运行 maven_40


 10、查看构建日志

docker插件自动运行 maven docker运行自动化_jenkins_41


docker插件自动运行 maven docker运行自动化_jenkins_42


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

docker插件自动运行 maven docker运行自动化_docker插件自动运行 maven_43

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

docker插件自动运行 maven docker运行自动化_jenkins_44


docker插件自动运行 maven docker运行自动化_运维_45

 把这个代码放进去执行:System.setProperty("

hudson.model.DirectoryBrowserSupport.CSP","")

docker插件自动运行 maven docker运行自动化_运维_46


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

docker插件自动运行 maven docker运行自动化_docker插件自动运行 maven_47


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

docker插件自动运行 maven docker运行自动化_jenkins_48


升级7.7步骤

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

2、修改后push到远程仓库

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

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