如果你还想从头学起 Docker,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1870863.html

安装 Docker

直接参考我这篇文章哦:https://www.cnblogs.com/poloyy/p/13921450.html

下载 Jenkins 镜像

搜索 jenkins 镜像

docker search jenkins

重点讲下前三个

  1. 第一个是官方的镜像,但是版本很旧,不推荐
  2. 第二个镜像虽然不是官方的,但是 jenkins 的版本会跟随 jenkins官方的版本,也就是说会保持拉下来的镜像的 jenkins 版本是最新的,推荐,我也用这个
  3. 第三个镜像是中文 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

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

将压缩包传送到容器内

  1. 先将包上传到主机
  2. 然后从主机复制到容器内
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 的自动化测试环境的更多相关文章

  1. Python+Pytest+Allure+Git+Jenkins接口自动化框架

    Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...

  2. Docker DevOps实战:Docker+Jenkins+Python+Pytest+Allure(1)- 创建Jenkins容器、安装Python环境、安装项目依赖类库、安装Allure报告插件

    前言: 本文实操笔记参照菠萝笔记,安装过程中的坑大家可以参考下 创建Jenkins容器 # 下载Jenkins镜像 [root@localhost ~]# docker pull jenkins/je ...

  3. docker定制化镜像的构建及基于该定制的镜像创建容器

    1.在项目里创建Dockerfile(注意大小写)文件,执行构建命令:docker build -t tiny-node-1 /root/tiny-node-docker    其中tiny-node ...

  4. docker简单介绍----镜像和容器管理

    docker可以分为三部分:docker镜像   docker仓库  docker容器 docker镜像:一个image可以包含一个镜像,也可以理解为一个系统模板,里面安装了相关应用,也可以是纯净版的 ...

  5. Docker笔记——jenkins镜像制作

    jenkins官方路径:https://hub.docker.com/_/jenkins/ 最新Dockerfile路径:https://github.com/jenkinsci/docker/blo ...

  6. Docker——理解好镜像和容器的关系

    关注公众号,大家可以在公众号后台回复“博客园”,免费获得作者 Java 知识体系/面试必看资料.  镜像也是 docker 的核心组件之一,镜像时容器运行的基础,容器是镜像运行后的形态.前面我们介绍了 ...

  7. Docker Kubernetes 命令行创建容器

    Docker Kubernetes 命令行创建容器 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...

  8. Docker 为 ASP.NET Core WebApi 应用程序生成 Docker 映像,创建容器并运行

    1.使用VS2017新建ASP.NET Core WebApi项目 选择API启用Docker支持 2.为 ASP.NET Core WebApi 应用程序生成 Docker 映像,并创建容器运行 生 ...

  9. docker 使用:镜像和容器

    docker 镜像 docker image是一个极度精简版的Linux程序运行环境,官网的java镜像包括的东西更少,除非是镜像叠加方式的如centos+java7,需要定制化build的一个安装包 ...

随机推荐

  1. 晶振(crystal)与谐振荡器(oscillator)

    参考: 1. https://wenku.baidu.com/view/e609af62f5335a8102d2202f.html 2. 晶体振荡器也分为无源晶振和有源晶振两种类型.无源晶振与有源晶振 ...

  2. Magicodes.IE 2.4版本发布

    今天我们发布了2.4版本,这离不开大家对Magicodes.IE的支持,我们也对大家的意见以及需求不断的进行更新迭代,目前我们的发布频率平均在一周一个beta版本,一个月一个正式版本的更新,我们欢迎更 ...

  3. vue : 无法加载文件 C:\Users\Lenovo\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。

    第一步:用管理员身份打开 第二步:执行:set-ExecutionPolicy RemoteSigned 选择Y或A,回车

  4. 基于空镜像scratch创建一个新的Docker镜像

    我们在使用Dockerfile构建docker镜像时,一种方式是使用官方预先配置好的容器镜像.优点是我们不用从头开始构建,节省了很多工作量,但付出的代价是需要下载很大的镜像包. 比如我机器上docke ...

  5. 微信小程序适配iPhone X

    1.获取设备型号 App({ // 全局数据 globalData: { // 其他数据定义 ... isIPX: false, // 当前设备是否为 iPhone X }, // 小程序启动入口 o ...

  6. 浅谈Samsung Exynos4412处理器

    转载于:http://www.cnblogs.com/android210/archive/2013/01/16/2862349.html Topic:浅谈Samsung Exynos4412处理器( ...

  7. 【译】自动发现 .NET 5 中代码的潜在错误

    写代码是一件令人兴奋的事情,特别是对于  .NET 开发人员来说,平台越来越智能化了.我们现在默认在 .NET SDK 中包含丰富的诊断和代码建议.在您需要安装 NuGet 包或其他独立工具来进行更多 ...

  8. day67:Vue:es6基本语法&vue.js基本使用&vue指令系统

    目录 Vue前戏:es6的基本语法 1.es6中的let特点 1.1.局部作用域 1.2.不存在变量提升 1.3.不能重复声明 1.4.let声明的全局变量不从属于window对象,var声明的全局变 ...

  9. C语言实现和 *.ini文件。

    本文之前由于技术不到位,写的比较挫,最近花了大半天时间写了一个高级点的版本. 这里是我写的代码,已经上传到github了.跳转到github 主要是使用了链表保存ini文件的内容,在程序运行最初会初始 ...

  10. v-model数据绑定分析

    v-model数据绑定分析 v-model是Vue提供的指令,其主要作用是可以实现在表单<input>.<textarea>及<select>等元素以及组件上创建双 ...