1. 程式人生 > 其它 >使用python+docker+jenkins實現自動化持續整合

使用python+docker+jenkins實現自動化持續整合

一、在伺服器上安裝docker
安裝方式參考:https://www.cnblogs.com/hq0202/p/16255129.html

二、建立Jenkins容器,並配置Jenkins
1、建立jenkins容器
命令:docker run -dit --name=myjenkins -p 3333:8080 -u=root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker jenkins/jenkins:lts

引數說明:
-d #以守護式建立容器,建立後容器在後臺執行
-i #執行容器
-t #啟動容器後進入對應的命令列
--name #指定容器名稱
-p 3333:8080 #埠對映,宿主機埠(自己任意指定):jenkins容器埠(預設8080)
-u=root #指定root使用者
-v #目錄對映
-v /var/run/docker.sock:/var/run/docker.sock #將docker.sock對映到docker的容器中
-v /usr/bin/docker:/usr/bin/docker #將宿主機docker客戶端對映到 jenkins 容器中
jenkins/jenkins:lts #jenkins映象

作用:
docker.sock 是用來將docker的服務端和客戶端進行通訊的檔案
Linux 目錄
docker -->容器 目錄
將Linux宿主機的目錄共享到docker容器目錄,共享後,當修改任意一個目錄,另一個也會同步修改

2、執行命令,出現如下圖id表示建立成功

3、瀏覽器訪問 http://伺服器ip地址:埠,進入頁面,如下圖

4、獲取管理員密碼,執行命令:docker logs jenkins容器名稱

5、進入後,選擇第二個,選擇外掛安裝,如圖

6、取消預設勾選的外掛,這裡選擇無即可

7、設定管理員使用者名稱和密碼(任意設定,自己記住就行)

8、配置例項,預設就行,完成後,即可使用!!!

三、安裝Jenkins外掛
1、進入jenkins,點選Manage Jenkins

2、點 Manage Plugins 安裝外掛

3、安裝git外掛

4、安裝docker外掛

5、安裝HTML外掛

6、所有外掛安裝完成後,重啟Jenkins容器
命令:docker restart 容器名稱

四、建立並配置Jenkins任務
1、新建任務,建立自由風格的任務

2、配置構建記錄(按需配置)

3、git倉庫配置

4、配置執行指令碼
docker run --rm -w=$WORKSPACE --volumes-from=hqjenkins python3:fish

引數說明:
--rm : 自動刪除容器
-w=$WORKSPACE:指定workspace
--volumes-from=hqjenkins :將jenkins容器中的workspace對映到python容器中,此時jenkins中git拉下來的程式碼就會被對映進去

5、配置 jenkins 中展示的測試報告路徑


6、配置完成後,儲存即可!!!

五、構建有專案執行環境的 python 映象
1、在宿主機(安裝有docker)上新建一個目錄(/app),目錄任意命名

2、在新建的app目錄下,新建requirements.txt 檔案,檔名稱可任意命名,然後將專案的依賴包新增到requirements.txt 檔案中

3、在app目錄下建立Dockerfile 檔案(檔名必須是 Dockerfile,沒有後綴)

requirements.txt 檔案內容如下

ddt==1.4.4
Faker==13.3.2
jsonpath==0.82
openpyxl==3.0.9
PyMySQL==1.0.2
requests==2.24.0
unittestreport==1.4.0

Dockerfile 檔案內容如下:

FROM python:3.9-alpine
WORKDIR /app
ADD ./page.txt /app
RUN pip install -r page.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
CMD ["python","run.py"]

4、在 app 目錄下構建映象
docker build -t python3:fish .
-t:映象名稱
點號(.):點表示 Dockerfile 檔案所在的目錄,點表示當前目錄,即當前在app目錄執行

5、構建完成後,會得到帶有專案環境的python映象

六、修改測試報告樣式
1、點選Manage Jenkins

2、選擇Script Console

3、執行指令碼
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

4、結果為空,表示執行成功!!!

七、構建任務,檢視測試報告