Docker - 使用 Jenkins 镜像创建容器,并搭建 Python + Pytest +Allure 的自动化测试环境
如果你还想从头学起 Docker,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1870863.html
安装 Docker
直接参考我这篇文章哦:https://www.cnblogs.com/poloyy/p/13921450.html
下载 Jenkins 镜像
搜索 jenkins 镜像
docker search jenkins

重点讲下前三个
- 第一个是官方的镜像,但是版本很旧,不推荐
- 第二个镜像虽然不是官方的,但是 jenkins 的版本会跟随 jenkins官方的版本,也就是说会保持拉下来的镜像的 jenkins 版本是最新的,推荐,我也用这个
- 第三个镜像是中文 jenkins 镜像, 但是镜像的系统不是我们所熟悉的 centos、ubuntu、Debian 等,而是 Alpine,安装依赖库的方式也不常见,不推荐
下载 jenkins 镜像
docker pull jenkins/jenkins
这样就会下载最新版本的 jenkins 镜像啦
查看本地镜像
docker images

创建 Jenkins 容器
在主机下创建一个目录
用于挂载目录
mkdir -p /var/jenkins_node
给挂载目录一个最高权限
可读可写可执行
chmod -R 777 /var/jenkins_node
创建与启动 jenkins 容器
- -d:守护模式
- -uroot:使用 root 身份进入容器,推荐加上,避免容器内执行某些命令时报权限错误
- -p:主机 80 端口映射容器的 8080 端口,后面访问 jenkins 直接访问主机 ip 就行了,不需要加 8080 端口
- -v:目录映射
- --name:自定义一个容器名称
- 使用上面推荐的 jenkins/jenkins 镜像
docker run -d -uroot -p 80:8080 --name jenkins1 -v /var/jenkins_node:/var/jenkins_home jenkins/jenkins
查看容器是否运行
docker ps

进入 jenkins 容器 CLI 界面
docker exec -it -uroot jenkins1 bash
这里也可以指定 root 身份进入容器
前置准备
# 获取最新的软件包
apt-get update # 升级已安装的软件包
apt-get upgrade # 提前安装,以便接下来的配置操作
apt-get -y install gcc automake autoconf libtool make
apt-get -y install make*
apt-get -y install zlib*
apt-get -y install openssl libssl-dev
apt-get install sudo
安装 Python 环境
下载 python
cd /usr/local/src
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
tar -zxvf Python-3.6.8.tgz
mv Python-3.6.8 py3.6
cd py3.6

make 编译安装
在 /usr/local/src/py3.6 安装目录下执行下面的命令
./configure --prefix=/var/jenkins_home/py3.6
make && make install
添加软链接
添加 python3 软链接
ln -s /usr/local/src/py3.6/bin/python3.6 /usr/bin/python3
添加pip3软链接
ln -s /usr/local/src/py3.6/bin/pip3 /usr/bin/pip3

本身有的话忽略就行
验证 python3 环境
敲 python3 和 pip3 有下图的结果就是正常了

安装项目所需的库
首先
需要在 python 项目生成一个 requirement.txt,具体教程可以看
https://www.cnblogs.com/poloyy/p/13953232.html
然后
- 将 requirement.txt 上传到主机
- 从主机复制到容器内 docker cp requirement.txt jenkins1:/usr/local/src

最后安装项目所需的库
pip3 install -r requirements.txt
安装 Allure 环境
官网下载 allure 包
https://github.com/allure-framework/allure2/releases

选个最新版本的去下就行,或者自己挑一个版本
将压缩包传送到容器内
- 先将包上传到主机
- 然后从主机复制到容器内
docker cp allure-commandline-2.13.6.zip jenkins1:/usr/local/src
解压包
unzip allure-commandline-2.13.6.zip
赋予文件夹所有内容最高权限
mv allure-2.13.6 allure
chmod -R 777 allure
配置 allure 和 py 环境变量
cat >> /etc/profile << "EOF"
export PATH=/usr/local/src/allure/bin:$PATH
export PATH=/usr/local/src/py3.6/bin:$PATH
EOF
记得一行一个回车哦,不然就直接复制粘贴
更新环境变量配置文件
source /etc/profile
验证环境变量
allure --version
python3 --version
配置 JDK 环境变量
查看当前的系统已配置的环境变量
export

这里可以看到很多容器本身自带的环境变量
- Jenkins 的版本
- JDK 的安装路径
配置 JDK 环境变量
cat >> /etc/profile << "EOF"
export PATH=$JAVA_HOME/bin:$PATH
EOF
更新环境变量配置文件
source /etc/profile
Docker - 使用 Jenkins 镜像创建容器,并搭建 Python + Pytest +Allure 的自动化测试环境的更多相关文章
- Python+Pytest+Allure+Git+Jenkins接口自动化框架
Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...
- Docker DevOps实战:Docker+Jenkins+Python+Pytest+Allure(1)- 创建Jenkins容器、安装Python环境、安装项目依赖类库、安装Allure报告插件
前言: 本文实操笔记参照菠萝笔记,安装过程中的坑大家可以参考下 创建Jenkins容器 # 下载Jenkins镜像 [root@localhost ~]# docker pull jenkins/je ...
- docker定制化镜像的构建及基于该定制的镜像创建容器
1.在项目里创建Dockerfile(注意大小写)文件,执行构建命令:docker build -t tiny-node-1 /root/tiny-node-docker 其中tiny-node ...
- docker简单介绍----镜像和容器管理
docker可以分为三部分:docker镜像 docker仓库 docker容器 docker镜像:一个image可以包含一个镜像,也可以理解为一个系统模板,里面安装了相关应用,也可以是纯净版的 ...
- Docker笔记——jenkins镜像制作
jenkins官方路径:https://hub.docker.com/_/jenkins/ 最新Dockerfile路径:https://github.com/jenkinsci/docker/blo ...
- Docker——理解好镜像和容器的关系
关注公众号,大家可以在公众号后台回复“博客园”,免费获得作者 Java 知识体系/面试必看资料. 镜像也是 docker 的核心组件之一,镜像时容器运行的基础,容器是镜像运行后的形态.前面我们介绍了 ...
- Docker Kubernetes 命令行创建容器
Docker Kubernetes 命令行创建容器 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...
- Docker 为 ASP.NET Core WebApi 应用程序生成 Docker 映像,创建容器并运行
1.使用VS2017新建ASP.NET Core WebApi项目 选择API启用Docker支持 2.为 ASP.NET Core WebApi 应用程序生成 Docker 映像,并创建容器运行 生 ...
- docker 使用:镜像和容器
docker 镜像 docker image是一个极度精简版的Linux程序运行环境,官网的java镜像包括的东西更少,除非是镜像叠加方式的如centos+java7,需要定制化build的一个安装包 ...
随机推荐
- 【题解】Tree
题目戳我 \(\text{Solution:}\) 考虑点分治.对于这个两点之间,它意味着这点对必须是不一样的. 考虑用双指针统计答案.显然,对于两个数\(a,b\),要让\(a+b=k,a\)越大则 ...
- 对ACE和ATL积分
下载source code - 39.66 KB 介绍 这篇文章展示了一种结合ACE和ATL的方法.它不打算作为功能演示,而是作为一个小型的"入门"解决方案,展示实现此目标的可行方 ...
- 应用启动失败,报错:The server experienced an unexpected error when processing the request
前言 在腾讯云TKE集群中部署服务的时候,预警服务,warn一直重启,经过查询日志发现了如下的错误 The server experienced an unexpected error when pr ...
- Oracle 正确删除归档日志的方法
我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件 ...
- tslib-1.4移植(转)
转自:http://blog.163.com/zhuandi_h/blog/static/180270288201222310291262/ 环境:host:Ubuntu11.10target:Oma ...
- .net core中的那些常用的日志框架(Serilog篇)
前言 上文说到Nlog日志框架,感觉它功能已经很强大,今天给大家介绍一个很不错的日志框架Serilog,根据我的了解,感觉它最大的优势是,结构化日志,它输出的日志是Json的格式,如果你使用的是Mon ...
- day26 Pyhton 面向对象复习
一 class 类名(): pass 对象 object 对象 = 类名() class Person: pass print(Person)#<class '__main__.Person'& ...
- 【转载】opencvVS2019配置方法
环境: 系统:win10系统截至2020920版本 opencv版本:3.0.0版本 IDE:宇宙最强IDEA最新版本2019社区版 教程: 1.下载opencv安装包官网下载链接:https://o ...
- Oracle函数总结
<Trunc()> 描 述(实际应用):截取小数或者日期整数 简 介:https://baike.baidu.com/item/trunc/9657216?fr=al ...
- 使用 volatile 关键字保证变量可见性和禁止指令重排序
volatile 概述 volatile 是 Java 提供的一种轻量级的同步机制.相比于传统的 synchronize,虽然 volatile 能实现的同步性要差一些,但开销更低,因为它不会引起频繁 ...