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的一个安装包 ...
随机推荐
- <stdbool.h>的使用
转载: 1.https://www.cnblogs.com/jediael/archive/2013/02/03/4304259.html 2.https://zhidao.baidu.com/que ...
- Win10桌面不见了只显示开始菜单该怎么办?
来源:http://www.w10zj.com/Win10xy/Win10xf_4256.html 在Win10系统中,有用户反应桌面不见了,只显示开始菜单的情况,该怎么办呢?出现这样的情况一般由于桌 ...
- 【题解】NOIP2018 旅行
题目戳我 \(\text{Solution:}\) 首先题目描述有一点不准确:回头是必须要走完一条路无路可走的时候才能返回. 对于树的情况:显然贪心做就完事了. 对于基环树的情况:对于一个\(n\)条 ...
- 【优化】单调队列与dp
笔者大概看了一下单调队列对于DP的优化,故撰此文,望有帮助. (dp还是推式子难啊qwq) 例题1. 题目大意:在n个数的序列中,选择数字,使得其连续不超过k个数,且和最大. 本题的方程相对好推:设d ...
- PJzhang:鸟哥的linux私房菜-shell脚本-上
猫宁~~~ 建议全程在centos7中进行,我在kali linux中有些命令无法执行. 1~家目录下创建bin文件,test.sh文件在bin目录 下面的shell代码打印Hello World! ...
- 安装memcache,步骤
1.先下载emcache.rar安装包<ps:随便安装在哪里文件夹,或者新建文件夹都是可以的> 2.解压安装包<ps:运行里面的程序> 3.然后根据自己的phpstudy的版本 ...
- ansible-命令使用说明
1. ansible命令的使用说明 ansible 主机或组-m 模块名-a '模块参数' ansible参数 表示调用什么模块,使用模块的那些参数 • 主机和组,是在/etc/ansible/hos ...
- linux(centos8):sed命令的应用例子
一,sed命令的用途 sed是Linux下一款功能强大的非交互流式文本编辑器, 可以对文本文件进行增.删.改.查等操作, 支持按行.按字段.按正则匹配文本内容. 说明:刘宏缔的架构森林是一个专注架构的 ...
- HTML 5标签中<button>的新属性
<button> 标签HTML5 中的新属性 属性 值 描述 autofocus autofocus 规定当页面加载时按钮应当自动地获得焦点. disabled disabled 规定应该 ...
- NCEP数据资料获取 地面抬升指数
先放上数据地址:https://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.surface.html 美国国家环境预报中心(NCEP ...