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

2023-05-16

 

目录

一、实现思路

二、环境准备

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

二、环境准备

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 --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

四、配置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-lem

 六、创建jenkins任务

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

2、创建项目 

  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文件详解: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 目录下,点表示当前目录

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

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

  

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

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

8、配置测试报告

 

配置好之后点击保存 

9、构建 jenkins 任务

 10、查看构建日志

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

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

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

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

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

升级7.7步骤

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

2、修改后push到远程仓库

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(centos7)docker+jenkins运行python自动化 的相关文章

随机推荐

  • 新书推荐 |《Prometheus监控实战》

    新书推荐 Prometheus监控实战 点击上图了解及购买 Docker公司前服务与支持副总裁 Kickstarter前首席技术官 Empatico首席技术官撰写 xff0c 全方位介绍继Kubernetes之后的第二个CNCF毕业项目 P
  • 腾讯大数据总体架构图,对外公开!

    导读 xff1a 腾讯作为国内体量最大的互联网公司之一 xff0c 业务涵盖用户日常生活的方方面面 xff0c 面对如此巨大业务数据量 xff0c 如果不能对数据进行专业化处理并高效有序地存 管 用 xff0c 如果不能使数据产生应有的价值
  • API安全实战

    一提起 信息安全 xff0c 不管是业内专家还是所谓的 吃瓜群众 xff0c 多半都会在脑海中浮现 网络安全 Web安全 软件安全 数据安全 等常见的词汇 市面上绝大多数安全类书籍也多集中在这几个领域 xff0c 而从API视角阐释信息安全
  • 【第115期】世界一流大学计算机专业,都在用哪些书当教材?

    导读 xff1a 转眼间离新学期开学又不远了 清华 北大 MIT CMU 斯坦福的学霸们在新学期里要学什么 xff1f 本文就带你盘点一下那些世界名校计算机专业采用的教材 不用多说 xff0c 每本都是经典的烧脑技术书 xff0c 建议配合
  • 什么是AB实验?能解决什么问题?终于有人讲明白了

    导读 xff1a 走向身边的AB实验 作者 xff1a 木羊同学 来源 xff1a 大数据DT xff08 ID xff1a hzdashuju xff09 AB实验 是一个从统计学中借来的工具 我和大家一样 xff0c 每次只要看到 统计
  • 树莓派3b引脚图

    如上图所示 xff0c 我们可以很清楚的看到各个引脚的功能 例如我们想使用pwm引脚来控制舵机 xff0c 则我们可以考虑使用其中的 BCM18 PWM0 和 BCM13 PWM1 在使用wiringPi库时 xff0c 我们定义的引脚即B
  • 跟踪slab分配堆栈流程的方法(perf、systemtap)

    跟踪slab分配堆栈流程的方法 xff08 perf systemtap xff09 内存泄露是在解决内核故障会遇到的棘手情况 xff0c 根据具体的内存使用情况 xff0c 追踪相应slab cache的分配堆栈流程 xff0c 是追踪泄
  • prometheus+grafana监控mysql、canal服务器

    一 prometheus配置 1 prometheus安装 1 1官网下载安装包 xff1a https prometheus io download 1 2解压安装包 xff1a tar zxvf prometheus 2 6 1 lin
  • mac配置jmeter

    一 步骤 1 安装jdk1 8版本 xff0c 因为jmeter是基于java环境运行的 2 安装jmeter5 x版本 二 安装jdk 1 下载jdk Java Downloads Oracle 2 下载好之后安装 xff0c 全部下一步
  • 操作系统(四):动态链接与静态链接的区别

    在回答这个问题之前希望大家大概了解一个文件编译的过程 xff0c 比如一个C文件在编译成功后文件夹里的文件会有什么变化 xff0c 大家可以先去创建一个helloworld c的文件 xff0c 观察其编译后的变化 那么问题来了 面试官经常
  • 【OpenVINS】(一)ZUPT

    参考 xff1a Measurement Update Derivations Zero Velocity Update 在典型的自主汽车场景中 xff0c 传感器系统将在停止灯处变得静止 xff0c 其中动态物体 xff08 例如交叉路口
  • OpenVINS与MSCKF_VIO RK4积分对比

    VIO系统在使用IMU测量值进行状态预测时 xff0c 需要将连续时间的微分方程离散化为差分方程 xff0c 离散化的本质是积分 xff0c 根据数值积分近似程度不同 xff0c 常用的有欧拉法 中点法和四阶龙格库塔法等 xff0c Ope
  • 全盘拷贝linux系统,转移至另一硬盘

    首先制作ubuntu启动盘 xff0c 选择try ubuntu进入live ubuntu系统 查看需拷贝硬盘盘符 span class token function sudo span span class token function
  • EKF SLAM

    EKF 方法是解决 SLAM 问题的一种经典方法 xff0c 其应用依赖于运动模型和观测模型的高斯噪声假设 在 SLAM 问题首次提出不久后 xff0c Smith 和 Cheesman 及 Durrant Whyte对机器人和路标间的几何
  • 如何将立创EDA中的元器件的原理图/封装和3D模型导入AD的库中

    如何将立创EDA中的元器件的原理图 封装和3D模型导入AD的库中 工具 xff1a AD 立创EDA专业版 fusion360 或其他3D软件 导入原理图 封装 在立创商城复制所需元器件的编号 打开立创EDA标准版或专业版 xff0c 这里
  • Xshell 提示 “要继续使用此程序,您必须应用最新的更新或使用新版本“的解决方案

    要想解决Xshell提示更新最新版问题 有两种方案 方案一 手动修改系统时间 步骤如下 右键右下角时间 弹出如下窗口 2 选中 调整日期 时间 A 并点击 弹出如下页面 更改时间 更改成之前的年份 如下图 更改成功后 再打开相应的应用 Xs
  • 2020.2.22 排位赛 G - Bucket Brigade(BFS)

    Bucket Brigade 题面 题目分析 BFS模板题 代码 span class token macro property span class token directive keyword include span span cl
  • Canal入门(二)

    Canal入门 xff08 二 xff09 canal kafka quickStart 1 基本说明 canal 1 1 1版本之后 默认支持将canal server接收到的binlog数据直接投递到MQ 目前默认支持的MQ系统有 ka
  • PID调节三个参数的作用

    1 比例调节作用 xff1a 按比例反应系统的偏差 系统一旦出现了偏差 比例调节立即产生调节作用用以减少偏差 比例作用大 可 以加快调节 能迅速反应误差 xff0c 从而减小稳态误差 但是 xff0c 比例控制不能消除稳态误差 过大的比例
  • (centos7)docker+jenkins运行python自动化

    目录 一 实现思路 二 环境准备 1 在liunx上安装docker 2 docker安装jenkins 三 访问前设置 四 配置jenkins容器 五 jenkins插件安装 1 安装git 2 安装docker 3 html Publi