Docker – 使用 Jenkins 鏡像創建容器,並搭建 Python + Pytest +Allure 的自動化測試環境
- 2020 年 11 月 10 日
- 筆記
- docker, 測試高級進階技能系列 - Docker
如果你還想從頭學起 Docker,可以看看這個系列的文章哦!
//www.cnblogs.com/poloyy/category/1870863.html
安裝 Docker
直接參考我這篇文章哦://www.cnblogs.com/poloyy/p/13921450.html
下載 Jenkins 鏡像
搜索 jenkins 鏡像
docker search jenkins
重點講下前三個
- 第一個是官方的鏡像,但是版本很舊,不推薦
- 第二個鏡像雖然不是官方的,但是 jenkins 的版本會跟隨 jenkins官方的版本,也就是說會保持拉下來的鏡像的 jenkins 版本是最新的,推薦,我也用這個
- 第三個鏡像是中文 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
選個最新版本的去下就行,或者自己挑一個版本
將壓縮包傳送到容器內
- 先將包上傳到主機
- 然後從主機複製到容器內
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