下载Jenkins镜像

下载镜像

docker pull jenkins/jenkins  #默认下载最新版本

查看本地镜像

docker images

image.png

创建Jenkins容器

创建挂载目录

mkdir -p /var/jenkins_data

修改目录权限

chmod -R 777 /var/jenkins_data

创建启动Jenkins容器

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

查看容器是否运行

docker ps

配置Jenkins容器

进入Jenkins容器

docker exec -it jenkins /bin/bash

前置准备

# 获取最新的软件包
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/
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/py3.6 安装目录下执行下面的命令

./configure --prefix=/var/jenkins_home/py3.6
make && make install

添加软链接

ln -s /usr/local/src/py3.6/bin/python3.6 /usr/bin/python3  #添加 python3 软链接
ln -s /usr/local/src/py3.6/bin/pip3 /usr/bin/pip3  #添加pip3软链接

验证Python

image.png

安装Python项目所需的库

  1. requirement.txt上传到宿主机
pip3 freeze > requirements.txt  #生成requirement.txt文件
  1. 将文件复制到Jenkins容器中
docker cp requirement.txt jenkins:/usr/local/
  1. 安装库
pip3 install -r requirements.txt

安装Allure环境

官网下载 allure 包

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

将文件传入容器

  1. 将文件上传至宿主机
  2. 复制至容器
docker cp allure-commandline-2.13.6.zip jenkins:/usr/local/

解压包

unzip allure-commandline-2.13.6.zip

修改权限

mv allure-2.13.6 allure
chmod -R 777 allure

配置 allure 和 py 环境变量

cat >> /root/.bashrc << "EOF" 
export PATH=/usr/local/allure/bin:$PATH 
export PATH=/usr/local/py3.6/bin:$PATH 
EOF

更新配置

source /root/.bashrc

验证环境变量

allure --version
python3 --version

配置jdk环境变量

export

image.png

配置 JDK 环境变量

cat >> /root/.bashrc<< "EOF" 
export PATH=$JAVA_HOME/bin:$PATH 
EOF

更新环境变量配置文件

source /root/.bashrc

Q.E.D.


Nothing really matters to me!