Docker 实战(1)- 使用 Jenkins 镜像创建容器,并搭建 Python + Pytest +Allure 的自动化测试环境

2020-11-11 15:31:07 浏览数 (1)

安装 Docker

直接参考我这篇文章哦:https://cloud.tencent.com/developer/article/1742960

下载 Jenkins 镜像

搜索 jenkins 镜像

代码语言:javascript复制
docker search jenkins

重点讲下前三个

  1. 第一个是官方的镜像,但是版本很旧,不推荐
  2. 第二个镜像虽然不是官方的,但是 jenkins 的版本会跟随 jenkins官方的版本,也就是说会保持拉下来的镜像的 jenkins 版本是最新的,推荐,我也用这个
  3. 第三个镜像是中文 jenkins 镜像, 但是镜像的系统不是我们所熟悉的 centos、ubuntu、Debian 等,而是 Alpine,安装依赖库的方式也不常见,不推荐

下载 jenkins 镜像

代码语言:javascript复制
docker pull jenkins/jenkins

这样就会下载最新版本的 jenkins 镜像啦

查看本地镜像

代码语言:javascript复制
docker images 

创建 Jenkins 容器

在主机下创建一个目录

用于挂载目录

代码语言:javascript复制
mkdir -p /var/jenkins_node

给挂载目录一个最高权限

可读可写可执行

代码语言:javascript复制
chmod -R 777 /var/jenkins_node

创建与启动 jenkins 容器

  • -d:守护模式
  • -uroot:使用 root 身份进入容器,推荐加上,避免容器内执行某些命令时报权限错误
  • -p:主机 80 端口映射容器的 8080 端口,后面访问 jenkins 直接访问主机 ip 就行了,不需要加 8080 端口
  • -v:目录映射
  • --name:自定义一个容器名称
  • 使用上面推荐的 jenkins/jenkins 镜像
代码语言:javascript复制
docker run -d -uroot -p 80:8080 --name jenkins1 -v /var/jenkins_node:/var/jenkins_home jenkins/jenkins

查看容器是否运行

代码语言:javascript复制
docker ps

进入 jenkins 容器 CLI 界面

代码语言:javascript复制
docker exec -it -uroot jenkins1 bash

这里也可以指定 root 身份进入容器

前置准备

代码语言:javascript复制
# 获取最新的软件包
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

代码语言:javascript复制
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 安装目录下执行下面的命令

代码语言:javascript复制
./configure --prefix=/var/jenkins_home/py3.6
make && make install

添加软链接

添加 python3 软链接
代码语言:javascript复制
ln -s /usr/local/src/py3.6/bin/python3.6 /usr/bin/python3
添加pip3软链接
代码语言:javascript复制
ln -s /usr/local/src/py3.6/bin/pip3 /usr/bin/pip3

本身有的话忽略就行

验证 python3 环境

敲 python3 和 pip3 有下图的结果就是正常了

安装项目所需的库

首先

需要在 python 项目生成一个 requirement.txt,具体教程可以看

https://cloud.tencent.com/developer/article/1746263

然后
  • 将 requirement.txt 上传到主机
  • 从主机复制到容器内

docker cp requirement.txt jenkins1:/usr/local/src

最后安装项目所需的库
代码语言:javascript复制
pip3 install -r requirements.txt

安装 Allure 环境

官网下载 allure 包

https://github.com/allure-framework/allure2/releases

选个最新版本的去下就行,或者自己挑一个版本

将压缩包传送到容器内

  1. 先将包上传到主机
  2. 然后从主机复制到容器内
代码语言:javascript复制
docker cp allure-commandline-2.13.6.zip jenkins1:/usr/local/src

解压包

代码语言:javascript复制
unzip allure-commandline-2.13.6.zip

赋予文件夹所有内容最高权限

代码语言:javascript复制
mv allure-2.13.6 allure
chmod -R 777 allure

配置 allure 和 py 环境变量

代码语言:javascript复制
cat >> /root/.bashrc << "EOF" 
export PATH=/usr/local/src/allure/bin:$PATH 
export PATH=/usr/local/src/py3.6/bin:$PATH 
EOF

记得一行一个回车哦,不然就直接复制粘贴

更新环境变量配置文件
代码语言:javascript复制
source /root/.bashrc

验证环境变量

代码语言:javascript复制
allure --version
python3 --version

配置 JDK 环境变量

查看当前的系统已配置的环境变量

代码语言:javascript复制
export

这里可以看到很多容器本身自带的环境变量

  • Jenkins 的版本
  • JDK 的安装路径

配置 JDK 环境变量

代码语言:javascript复制
cat >> /root/.bashrc<< "EOF" 
export PATH=$JAVA_HOME/bin:$PATH 
EOF
更新环境变量配置文件
代码语言:javascript复制
source /root/.bashrc

0 人点赞