Jenkins+Python自動化持續集成詳細教程

Python接口自動化測試零基礎入門到精通(2025最新版)

Jenkins安裝

? Jenkins是一個開源的軟件項目,是基于java開發的一種持續集成工具,用于監控持續重復的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。由于是基于java開發因此它也依賴java環境,安裝之前需要先安裝jdk,建議jdk1.8+,安裝后配置java環境變量。安裝jdk成功后,在cmd使用java -version可查看jdk版本信息。

? 官網下載地址:Jenkins?,或者這個網址直接下載:http://mirrors.jenkins.io/war-stable/latest/jenkins.war?,下載的包可以是Jenkins.war,也可以是Jenkins.msi。

? 如果是Jenkins.war,那么將這個文件放到一個目錄下,打開cmd,進入到此文件所在目錄,執行:java -jar jenkins.war --httpPort=8080即可;如果是Jenkins.msi,直接雙擊打開運行安裝。

? 安裝好之后,打開瀏覽器輸入:localhost:8080,會出現下面這個圖:

? 稍等一會,會提示需要輸入管理員密碼,按照提示到對應的路徑找到initialAdminPassword這個文件,用記事本打開,里面會有一個密碼,把這個密碼粘貼到文本框中點確定即可。

? 到下圖這一步時,選擇左邊安裝推薦的插件,安裝插件的過程會比較漫長,如果網絡比較差,很多安裝失敗的話也可以點擊continue跳過安裝,就會跳到設置用戶頁面,設置一個用戶密碼,就進入主頁面了。

離線安裝插件

? 在安裝jenkins時如果跳到了插件安裝,后面想再安裝插件可以在主頁面系統管理》插件管理中下載,如果網絡不好下載插件很慢或失敗時,可以試試到這個插件列表中去下載:http://updates.jenkins-ci.org/download/plugins/?,下載的是.hpi格式的文件,下載后在jenkins系統管理》插件管理》高級》上傳插件,上傳對應插件的.hpi文件,然后重啟jenkins即可。

離線升級

? 同理,在需要升級jenkins時,在線升級比較慢的情況下,我們也可以離線去下載,推薦地址:http://mirrors.jenkins-ci.org/war/?,下載的是.war后綴的包。

??離線升級步驟🔻:

  1. 下載war包:見上
  2. 替換war包:找到本地 jenkins 的 war 包的安裝路徑,可在jenkins系統管理》系統信息中查詢到;然后把下載好的war包替換掉原來的war包

?

  1. 重啟服務:Ctrl?+?Alt?+?Del?打開任務管理器,重新啟用 jenkins 服務

Jenkins部署項目

? 如果在沒有pycharm編譯器的情況下我們怎么運行項目呢?可以在windows的命令行下直接運行,但運行時需要先切換到項目路徑下,然后在cmd輸入python 文件名.py,或者不切換路徑,直接輸入文件的完整路徑,如:python c:\test\main.py

? 當然,更方便的還是在Jenkins上面一鍵運行。

? 首先要創建一個工作項目,類型選第一個Freestyle project就行。

? 每一個項目建立后,都需要先執行一遍構建才會有工作區間,否則進入工作區間會顯示如下:

? 構建一遍后再點進工作區間會顯示“空目錄”,這是因為我們還沒有把測試項目放到Jenkins。先找到Jenkins安裝目錄下的workplace,然后在對應目錄下把我們的測試項目整個拷過來即可,如下:

? 如果源碼不在本地,使用的是git或svn,那么配置好項目的git/svn,執行構建后會自動把服務器上的代碼拉取下來。下面是源碼管理及構建的步驟:

源碼管理

? 源碼管理(source code management):需要安裝插件,如:git/svn,沒有插件時顯選擇無,直接使用本地代碼,需要拷貝到工作區間。

? 這里以git為例,參數說明🔻:

  • repository url:項目的git地址(svn則填svn地址)
  • credentails:點擊添加Jenkins憑據,填寫git/svn的賬號及密碼》保存;保存后在左側選擇賬號

構建

? 構建,即如何運行項目。添加構建步驟,windows選擇execute windows batch command,linux或mac選擇execute shell,然后輸入終端的執行命令:python 文件名.py,保存后點擊構建(build now)就可以運行項目了,注意這里運行的文件需要存放在工作區間的根目錄下(因為這里默認是根目錄)。

? 配置好后,就可以運行項目了,在對應項目里點擊build now(立即構建)就可以運行項目了,在左下角可查看構建進度、構建歷史,還可以查看控制臺的輸出。

Jenkins發送郵件

? 在另一篇隨筆已經介紹了如何使用python發送測試報告:傳送門,現在就來介紹一下如何使用jenkins來發送郵件

安裝插件

? Jenkins需要先安裝以下兩個插件

配置郵件地址

? 位置:jenkins管理》系統配置》Jenkins Location。在系統管理員郵件地址,輸入對應的郵件地址

配置smtp服務

? 位置:jenkins管理》系統配置》Extended E-mail Notification,填寫對應的smtp服務器相關內容,如下是qq郵箱示例,授權碼獲取見傳送門。

? 點擊高級,輸入對應的郵箱地址和smtp登錄的授權碼,勾選ssl。

配置郵件觸發器

? 位置:jenkins管理》系統配置》Default Triggers,默認是勾選失敗才發,可以配置總是發送(或根據需求勾選),那么每次運行項目時都會發送郵件。

? 需要特別注意的是,如果項目已經創建了(項目默認是失敗發送)才去配系統觸發器(配了總是發送),那么項目會讀取項目的觸發器,如果是先配置了系統觸發器再創建的項目,那么項目的觸發器是讀取系統觸發器的。配置項目的觸發器見第5點。

配置構建后操作

? 位置:對應項目》配置》添加構建后操作-Editable Email Notifiction,輸入收件人郵件地址(Project Recipient List),多個郵箱可以用英文逗號隔開;輸入附件內容(Attachments):reports/report.html,這里輸入的是:項目存放測試報告的文件夾名/測試報告文件名。

? 郵件觸發器,點擊高級》找到triggers。

?

?

? 郵件觸發器:

html展示配置

? 配置后項目生成的html報告就可以直接在項目中查看,如下圖:

? 需要安裝插件:HTML Publisher

? 安裝后配置項目構建后操作:對應項目》配置》增加構建后操作。

? 配置好后重新構建項目就會在項目生成HTML Report目錄,但是查看這個報告后你會發現html報告在jenkins上顯示沒有那么美觀,那是因為少了html里面的css和js,因為jenkins是默認會禁掉css和js。

??解決辦法🔻:

? 在jenkins管理》命令行終端(Script Console),輸入:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "script-src 'unsafe-inline'"),點擊【運行】就好了(記住重啟jenkins后,就會恢復默認設置,需要重新配置)。

Jenkins定時任務

? 顧名思義,就是定時去執行項目。配置位置:對應項目》配置》構建觸發器》定時構建(Build Periodically)。

? 定時規則分為5個部分:分鐘、小時、每月的日子、月份、星期,每個部分需要用空格隔開,*代表所有,如果是5個*意思就是每分鐘執行一次,再舉例30 8 * * 1,意思就是每周一上午8點30分執行一次。每次輸入定時規則時,下方會有提示說明,以及上一次運行時間、下一次運行的時間。

? 每個部分還可以設置其他的值,詳情可查看提示了解。

Jenkins構建觸發器

? 實際有可能我們運行項目不是一定要定時去執行的,可能開發每次一發版我們就要執行構建一遍來觀察開發的新代碼是否會有問題,那我們就可以配置一個構建觸發器。

? 配置位置:對應項目》配置》構建觸發器》其他工程構建后觸發(Build after other projects are build),輸入對應的項目名稱,選擇“構建穩定時觸發”,意思就是我的測試腳本項目在另一個項目(test項目,這里指開發的項目)部署構建完成后沒有出現問題了才觸發構建我的測試腳本項目。

? 也就是說,每一次開發發版成功后就會構建一遍我的測試腳本項目。完美😉

Jenkins漢化

? 設置中文顯示的兩個插件:

? 然后在jenkins管理》系統配置》Locale,配置顯示中文:

? 如果配置后出現半英文半中文,可以先設置為zh_EN(英文),然后重啟jenkins,再重新設置為zh_CN(中文簡體)即可。重啟jenkins,可以直接在瀏覽器輸入:http://localhost:8080/restart?,如果不是8080端口就替換成你設置的端口。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93278.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93278.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93278.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++面試——內存

一、簡述堆和棧的區別維度棧(Stack)堆(Heap)生命周期隨函數調用自動創建/銷毀由程序員或垃圾回收器控制分配速度極快(僅移動指針)慢(需查找空閑塊、維護元數據)空間大小較小&#xf…

UVM驗證(三)—UVM機制(1)

目錄 (一)Factory工廠機制 1. 工廠機制核心邏輯:“注冊 - 創建 - 覆蓋” 2. 代碼映射:從概念到實現 3. 實驗目標:用 dadd_fixen_driver 固定 data_en1 4. 工廠機制的價值:“靈活驗證的基石” 5. 常見…

前往中世紀 送修改器(Going Medieval)免安裝中文版

網盤鏈接: 前往中世紀 免安裝中文版 名稱:前往中世紀 送修改器(Going Medieval)免安裝中文版 描述: 在Going Medieval的世界中,黑暗時代的社會已瀕臨崩潰。14世紀末瘟疫肆虐,全球95%的人口因…

Font Awesome 參考手冊

Font Awesome 參考手冊 引言 Font Awesome 是一個功能強大的圖標庫,它允許開發者通過簡單的 CSS 類來添加圖標到網頁中。本手冊旨在為開發者提供全面的 Font Awesome 使用指南,包括圖標選擇、樣式定制以及常見問題解答。 圖標選擇 圖標分類 Font Awesome 提供了多種類別…

源網荷儲一體化零碳智慧工業園區建設

針對傳統工業園區等電力消納大戶存在的供電模式單一、能源管理錯雜、園區人員設備安全統籌不到位等諸多問題,通過AI分析及物聯網等新技術和自研交直流關鍵設備的應用,在三維場景中構建集智慧能源、智慧安防、碳排放管理及智慧運營等功能于一體的新型零碳…

MySQL表操作(DDL)

MySQL表操作創建表查看表結構修改表結構增加一列刪除一列修改某一列的屬性修改某一列的名字修改某一列的屬性和名字插入幾條信息刪除表創建表 語法: CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collat…

【總結】Python多線程

【總結】Python多線程備注一、基本概念二、備注 2025/08/15 星期五 最近用到了python的多線程發現和其他語言有點不同記錄一下 一、基本概念 首先要理解一下線程、進程和協程的概念 線程(Thread):是計算機能夠調度的最小計算單位 進程&…

【c++深入系列】:萬字詳解模版(下)

🔥 本文專欄:c 🌸作者主頁:努力努力再努力wz 💪 今日博客勵志語錄: 成功沒有標準答案,但堅持永遠是必選項 ★★★ 本文前置知識: 模版(上) 那么在之前的文章中我們展示…

Docker部署美化SunPanel導航頁

使用Cloudflare Tunnels穿透的地址:星霜導航 由于是使用的iStore里面的SunPanel導航頁,只是基本的功能 頁腳配置 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" conte…

支持向量機的原理和案例解析

支持向量機的原理和案例解析一、支持向量機的核心目標&#xff1a;間隔最大化步驟1&#xff1a;定義分離超平面步驟2&#xff1a;定義樣本到超平面的距離&#xff08;間隔&#xff09;步驟3&#xff1a;間隔最大化的目標步驟4&#xff1a;簡化目標函數二、通過拉格朗日乘子法求…

【教程】Nginx 源碼安裝

開發環境&#xff1a;VMWare 操作系統&#xff1a;紅帽 Linux 8 ? 前言 以離線環境安裝為前提&#xff0c;需準備以下 rmp 包內容&#xff1a; gccmakepcre-develzlib-developenssl-devel 如何準備可參考【教程】準備離線可用的 RPM 包 ? 流程 準備離線包 # 安裝 rpm yu…

俄羅斯信封套娃問題-二維最長遞增子序列

354. 俄羅斯套娃信封問題 - 力扣&#xff08;LeetCode&#xff09; Solution 對一個維度從小到大排序&#xff0c;然后對另外一個維度求最長上升子序列即可。 class Solution { public:struct node {int w, h;node(int w, int h) {this->w w;this->h h;}};static bool…

區塊鏈:用數學重構信任的數字文明基石

在數字經濟浪潮席卷全球的今天&#xff0c;虛擬與現實的融合正面臨一個根本性挑戰——如何讓數字世界的"承諾"擁有與現實世界同等的可信度&#xff1f; 當我們在電商平臺下單時&#xff0c;如何確保商品質量與描述一致&#xff1f;當企業簽署電子合同時&#xff0c;如…

Go語言defer機制詳解與應用

一、defer作用Go語言的defer關鍵字提供了一種延遲執行機制&#xff0c;它能確保指定的函數調用在當前函數返回前被執行。這一特性常用于資源釋放和異常處理場景。二、defer基本特性&#xff08;1&#xff09;執行時機&#xff1a;defer 語句會在外層函數返回前執行&#xff0c;…

服務器安全防護詳細介紹

一、方案概述隨著信息技術的飛速發展&#xff0c;服務器作為企業數據存儲、業務運行的核心載體&#xff0c;其安全性至關重要。本服務器安全防護方案旨在通過多層次、全方位的安全防護策略&#xff0c;構建一個完整的服務器安全防護體系&#xff0c;有效抵御各類安全威脅&#…

網站與政務新媒體自查情況的報告工具功能

要高效地完成網站與政務新媒體的自查&#xff0c;并生成報告&#xff0c;通常需要借助專業的自動化巡檢工具。這些工具能夠模擬人工檢查&#xff0c;但速度更快、覆蓋面更廣&#xff0c;并且能將發現的問題匯總成結構化的報告。一、網站與政務新媒體自查報告的工具實現功能這類…

JVM核心原理與實戰優化指南

一、成為卓越的Java開發者 無論你是大學生還是資深工程師&#xff0c;學習JVM都至關重要。你可能是為了&#xff1a; 征服技術面試進行系統調優深入理解Java生態 學習路徑建議&#xff1a; 從Java語言本質切入&#xff0c;逐步深入JVM核心機制&#xff0c;兼顧不同背景學習者…

TCP/IP、socket、http

區分與聯系 TCP/IP 是底層規則,規定數據如何傳輸; Socket 是操作 TCP/IP 的工具,讓程序能實現通信; HTTPS 是上層應用,用 Socket 調用 TCP/IP 協議,實現安全的數據傳輸。 應用層:HTTPS(基于 HTTP + SSL/TLS)| | socket連接了應用層和傳輸層↓ 傳輸層:TCP(可靠…

Go語言中的指針接收者

Go語言中的指針接收者&#xff08;Pointer Receiver&#xff09;與Java類中的方法在設計思想上確實有相似之處&#xff0c;尤其在對象狀態修改和性能優化上&#xff0c;但兩者在實現機制和語言哲學上存在顯著差異。以下從核心特性、設計對比和應用場景展開分析&#xff1a;一、…

計算機視覺(opencv)實戰三——圖像運算、cv2.add()、cv2.addWeighted()

圖像運算詳解&#xff1a;加法運算與加權運算在數字圖像處理中&#xff0c;圖像運算是基礎且常用的操作之一。它能夠對兩幅圖像或圖像與常數進行加減乘除&#xff0c;從而實現亮度調整、融合疊加、特效制作等功能。本文將重點介紹 OpenCV 中的圖像加法運算與加權運算&#xff0…