Docker – 使用 Jenkins 鏡像創建容器,並搭建 Python + Pytest +Allure 的自動化測試環境

如果你還想從頭學起 Docker,可以看看這個系列的文章哦!

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

 

安裝 Docker

直接參考我這篇文章哦://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,具體教程可以看

//www.cnblogs.com/poloyy/p/13953232.html

 

然後

  • 將 requirement.txt 上傳到主機
  • 從主機複製到容器內 docker cp requirement.txt jenkins1:/usr/local/src 

 

最後安裝項目所需的庫

pip3 install -r requirements.txt

 

安裝 Allure 環境

官網下載 allure 包

//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