前提
已经在docker下配置好jenkins容器
1.以root权限进入jenkins容器:
[root@localhost]# docker exec -uroot -it 容器id/容器名称 /bin/bash
2.查看当前操作系统cat /etc/issue
root@bf8fc620bea2:/# cat /etc/issue
Debian GNU/Linux 11 \n \l
查到的是Debian系统,所以不能用yum安装,这里用apt-get代替yum
先执行更新apt-get
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
注意:
如果在安装make* 报错的话,不需要管
3.安装python3
从python安装包的历史版本中https://www.python.org/ftp/python/,找到需要的安装包,比如我这里选3.6.8版本
# 进入jenkins的安装目录
cd /var/jenkins_home
# 新建一个python36的目录
mkdir python36
# cd到python36目录
cd python36
# 用wget下载3.6.8安装包
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
等待下载完成之后会在当前目录下出现一个tgz包,tar命令解压这个包到当前目录就可以
root@bf8fc620bea2:/var/jenkins_home/python36# ls
Python-3.6.8 Python-3.6.8.tgz
解压完之后需要编译Python-3.6.8包下的文件,先cd过去执行完这句命令之后,把python的安装目录指定一下,这样的话,里面的一些bin目录、lib目录就都会存放在这个目录下面。
如果不指定这个安装目录的话,最后python的安装文件将分散到linux的默认目录,不在一块。我们指定安装目录,以后卸载的话直接删除目录就可以干净卸载了。
root@bf8fc620bea2:/var/jenkins_home/python36# cd Python-3.6.8
root@bf8fc620bea2:/var/jenkins_home/python36/Python-3.6.8# ./configure --prefix=/var/jenkins_home/python36
在当前目录root/pyrhon36/Python-3.6.8执行make,执行完之后,接着输入make install
root@bf8fc620bea2:/var/jenkins_home/python36/Python-3.6.8# make
root@bf8fc620bea2:/var/jenkins_home/python36/Python-3.6.8# make install
4.添加python3、pip3、pytest的软链接
root@bf8fc620bea2:/var/jenkins_home/python36/bin# ln -s /var/jenkins_home/python36/bin/python3.6 /usr/bin/python3.6
root@bf8fc620bea2:/var/jenkins_home/python36/bin# python3.6 -V
Python 3.6.8
root@bf8fc620bea2:/var/jenkins_home/python36/bin# ln -s /var/jenkins_home/python36/bin/pip3 /usr/bin/pip3
root@bf8fc620bea2:/var/jenkins_home/python36/bin# pip3 -V
pip 18.1 from /var/jenkins_home/python36/lib/python3.6/site-packages/pip (python 3.6)
root@bf8fc620bea2:/var/jenkins_home/python36/bin# ln -s /var/jenkins_home/python36/bin/pytest /usr/bin/pytest
5.安装python3的第三方包
root@bf8fc620bea2:/var/jenkins_home/python36/bin# pip3 install requests
Collecting requests
Downloading https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl (63kB)
100% |████████████████████████████████| 71kB 356kB/s
Collecting certifi>=2017.4.17 (from requests)
Downloading https://files.pythonhosted.org/packages/37/45/946c02767aabb873146011e665728b680884cd8fe70dde973c640e45b775/certifi-2021.10.8-py2.py3-none-any.whl (149kB)
100% |████████████████████████████████| 153kB 698kB/s
Collecting idna<4,>=2.5; python_version >= "3" (from requests)
Downloading https://files.pythonhosted.org/packages/04/a2/d918dcd22354d8958fe113e1a3630137e0fc8b44859ade3063982eacd2a4/idna-3.3-py3-none-any.whl (61kB)
100% |████████████████████████████████| 61kB 2.6MB/s
Collecting urllib3<1.27,>=1.21.1 (from requests)
Downloading https://files.pythonhosted.org/packages/4e/b8/f5a25b22e803f0578e668daa33ba3701bb37858ec80e08a150bd7d2cf1b1/urllib3-1.26.8-py2.py3-none-any.whl (138kB)
100% |████████████████████████████████| 143kB 2.8MB/s
Collecting charset-normalizer~=2.0.0; python_version >= "3" (from requests)
Downloading https://files.pythonhosted.org/packages/06/b3/24afc8868eba069a7f03650ac750a778862dc34941a4bebeb58706715726/charset_normalizer-2.0.12-py3-none-any.whl
Installing collected packages: certifi, idna, urllib3, charset-normalizer, requests
Successfully installed certifi-2021.10.8 charset-normalizer-2.0.12 idna-3.3 requests-2.27.1 urllib3-1.26.8
You are using pip version 18.1, however version 21.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
6.安装allure
6.1 官网下载 allure 包
https://github.com/allure-framework/allure2/releases
6.2 将压缩包传送到容器内
[root@localhost ~]# ls
allure-commandline-2.16.1.zip anaconda-ks.cfg python36 python3.6
[root@localhost ~]# docker cp allure-commandline-2.16.1.zip myjenkins:/usr/local/src
6.3 解压包
root@bf8fc620bea2:/usr/local/src# unzip allure-commandline-2.13.6.zip
6.4 赋予文件夹所有内容最高权限
root@bf8fc620bea2:/usr/local/src# mv allure-2.13.6 allure
root@bf8fc620bea2:/usr/local/src# chmod -R 777 allure
7.配置 allure 和 py 环境变量
7.1 配置环境变量
root@bf8fc620bea2:/usr/local/src# cat >> /root/.bashrc << "EOF"
> export PATH=/usr/local/src/allure/bin:$PATH
> export PATH=/usr/local/src/py3.6/bin:$PATH
> EOF
7.2 更新环境变量配置文件
root@bf8fc620bea2:/usr/local/src# source /root/.bashrc
7.3 验证环境变量
root@bf8fc620bea2:/usr/local/src# allure --version
2.16.1
root@bf8fc620bea2:/usr/local/src# python3.6 --version
Python 3.6.8
8.配置 JDK 环境变量
8.1 查看当前的系统已配置的环境变量
root@bf8fc620bea2:/usr/local/src# export
declare -x COPY_REFERENCE_FILE_LOG="/var/jenkins_home/copy_reference_file.log"
declare -x HOME="/root"
declare -x HOSTNAME="bf8fc620bea2"
declare -x JAVA_HOME="/opt/java/openjdk"
declare -x JENKINS_HOME="/var/jenkins_home"
declare -x JENKINS_INCREMENTALS_REPO_MIRROR="https://repo.jenkins-ci.org/incrementals"
declare -x JENKINS_SLAVE_AGENT_PORT="50000"
declare -x JENKINS_UC="https://updates.jenkins.io"
declare -x JENKINS_UC_EXPERIMENTAL="https://updates.jenkins.io/experimental"
declare -x JENKINS_VERSION="2.338"
declare -x LANG="C.UTF-8"
declare -x OLDPWD="/"
declare -x PATH="/opt/java/openjdk/bin:/var/jenkins_node/python36/bin:/usr/local/src/allure/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
declare -x PWD="/usr/local/src"
declare -x REF="/usr/share/jenkins/ref"
declare -x SHLVL="1"
declare -x TERM="xterm"
8.2 配置 JDK 环境变量
root@bf8fc620bea2:/usr/local/src# cat >> /root/.bashrc<< "EOF"
> export PATH=$JAVA_HOME/bin:$PATH
> EOF
8.3 更新环境变量配置文件
root@bf8fc620bea2:/usr/local/src# source /root/.bashrc