jenkins-jenkins簡介

一、簡介

  jenkins是一個可擴展的持續集成引擎。持續集成,也就是通常所說的CI(Continues Integration),可以說是現代軟件技術開發的基礎。持續集成是一種軟件開發實踐,

即團隊開發成員經常集成他們的工作,通常每個成員至少集成一次,也

就意味著每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現集成錯誤。許多團隊發現這個過程可以大大減少

集成的問題,讓團隊能夠更快的開發內聚的軟件。

二、主要用于

1、持續、自動地構建、測試軟件項目。

2、監控一些定時執行的任務。

三、jenkins擁有的特性

1、易于安裝:只要把jenkins.war包部署到servlet容器即可,不需要數據庫的支持。

2、易于配置:所有的配置都是通過其提供的web界面實現得。

3、集成RSS/E-mail通過RSS發布構建結果或當構建完成時通過E-mail通知相關人員以及負責人。

3、生成Junit/testNG/HTMLTestRunner測試報告

4、分布式構建支持jenkins能夠讓多臺計算機一起構建、測試。

5、文件識別:jenkins能夠跟蹤那次構建生成那些jar,那次構建使用哪個版本的jar等。

6、插件支持:支持擴展插件,你可以開發適合自己團隊使用的工具。

?四、jenkins的由來

  目前持續集成(CI)已成為當前許多軟件開發團隊在整個軟件開發生命周期內側重于保證代碼質量的常見做法。它是一種實踐,旨在緩和和穩固軟件的構建過程。并且能夠幫助您的開發團隊應對如下挑戰:

  1、軟件構建自動化?:配置完成后,CI系統會依照預先制定的時間表,或者針對某一特定事件,對目標軟件進行構建。

  2、建可持續的自動化檢查?:CI系統能持續地獲取新增或修改后簽入的源代碼,也就是說,當軟件開發團隊需要周期性的檢查新增或修改后的代碼時,CI系統會不斷確認這些新代碼是否破壞了原有軟件的成功構建。這減少了開發者們在檢

查彼此相互依存的代碼中變化情況需要花費的時間和精力(說直接一點也是錢啊,呵呵)。

  3、構建可持續的自動化測試?:構建檢查的擴展部分,構建后執行預先制定的一套測試規則,完成后觸發通知(Email,RSS等等)給相關的當事人。

  4、生成后后續過程的自動化?:當自動化檢查和測試成功完成,軟件構建的周期中可能也需要一些額外的任務,諸如生成文檔、打包軟件、部署構件到一個運行環境或者軟件倉庫。這樣,構件才能更迅速地提供給用戶使用。

部署一個CI系統需要的最低要求是,一個可獲取的源代碼的倉庫,一個包含構建腳本的項目。

下圖概括了CI系統的基本結構:

  該系統的各個組成部分是按如下順序來發揮作用的:

  1.、開發者檢入代碼到源代碼倉庫。

  2.、CI系統會為每一個項目創建了一個單獨的工作區。當預設或請求一次新的構建時,它將把源代碼倉庫的源碼存放到對應的工作區。

  3.、CI系統會在對應的工作區內執行構建過程。

  4.、(配置如果存在)構建完成后,CI系統會在一個新的構件中執行定義的一套測試。完成后觸發通知(Email,RSS等等)給相關的當事人。

  5.、(配置如果存在)如果構建成功,這個構件會被打包并轉移到一個部署目標(如應用服務器)或存儲為軟件倉庫中的一個新版本。軟件倉庫可以是CI系統的一部分,也可以是一個外部的倉庫,諸如一個文件服務器或者像Java.net、?SourceForge之類的網站。

  6.、CI系統通常會根據請求發起相應的操作,諸如即時構建、生成報告,或者檢索一些構建好的構件。

Jenkins就是這么一個CI系統。之前叫做Hudson。

以下是使用Jenkins的一些理由:

  1、是所有CI產品中在安裝和配置上最簡單的。

  2、基于Web訪問,用戶界面非常友好、直觀和靈活,在許多情況下,還提供了AJAX的即時反饋。

  3、Jenkins是基于Java開發的(如果你是一個Java開發人員,這是非常有用的),但它不僅限于構建基于Java的軟件。

  4、Jenkins擁有大量的插件。這些插件極大的擴展了Jenkins的功能;它們都是開源的,而且它們可以直接通過web界面來進行安裝與管理。

五、Jenkins的目標

  Jenkins的主要目標是監控軟件開發流程,快速顯示問題。所以能保證開發人員以及相關人員省時省力提高開發效率。

  CI系統在整個開發過程中的主要作用是控制:當系統在代碼存儲庫中探測到修改時,它將運行構建的任務委托給構建過程本身。如果構建失敗了,那么CI系統將通知相關人員,然后繼續監視存儲庫。它的角色看起來是被動的;但它確能快速反映問題。

特別是它具有以下優點:

  1、Jenkins一切配置都可以在web界面上完成。有些配置如MAVEN_HOME和Email,只需要配置一次,所有的項目就都能用。當然也可以通過修改XML進行配置。

  2、支持Maven的模塊(Module),Jenkins對Maven做了優化,因此它能自動識別Module,每個Module可以配置成一個job。相當靈活。

  3、測試報告聚合,所有模塊的測試報告都被聚合在一起,結果一目了然,使用其他CI,這幾乎是件不可能完成的任務。

  4、構件指紋(artifact?fingerprint),每次build的結果構件都被很好的自動管理,無需任何配置就可以方便的瀏覽下載。

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

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

相關文章

vue發版html 生成打包到docker鏡像進行發版

將Vue項目打包成Docker鏡像部署主要分為以下幾個步驟: 1. Vue項目打包? 執行npm run build生成dist文件夾,包含靜態資源文件 注意檢查index.html中資源引用路徑是否正確(避免絕對路徑問題) 2. 編寫Dockerfile Copy Code FROM…

掃地機器人苦尋新引擎,大疆們卻已攻入腹地

原創 科技新知 前沿科技組 作者丨江籬 編輯丨櫻木、九黎 競爭激烈的掃地機器人賽道,迎來了新玩家。 據近日相關報道,大疆掃地機器人產品已開始量產,預計將于6月份發布。消息稱大疆研發掃地機器人已超過四年,即將上市的產品是掃…

【C++】22. 紅黑樹封裝實現Mymap和Myset

上一章節我們實現了紅黑樹,這一章節我們就用紅黑樹封裝來實現一個我們自己的map和set 1. 源碼及框架分析 SGI-STL 3.0版本的源代碼中,map和set的實現主要分布在若干頭文件中,這些頭文件構成了這兩個容器的完整實現架構: 核心頭文…

02_redis分布式鎖原理

文章目錄 一、redis如何實現分布式鎖1. 使用 SETNX 命令2. 設置過期時間3. 釋放鎖4. 注意事項5. 示例代碼二、Java中分布式鎖如何設置超時時間1. Redis分布式鎖2. 基于Zookeeper的分布式鎖3. 基于數據庫的分布式鎖注意事項一、redis如何實現分布式鎖 Redis 實現分布式鎖是一種…

酷派Cool20/20S/30/40手機安裝Play商店-谷歌三件套-GMS方法

酷派Cool系列主打低端市場,系統無任何GMS程序,也不支持直接開啟或者安裝谷歌服務等功能,對于國內部分經常使用谷歌服務商店的小伙伴非常不友好。涉及機型有酷派Cool20/Cool20S /30/40/50/60等旗下多個設備。好在這些機型運行的系統都是安卓11…

技術為器,服務為本:AI時代的客服價值重構

在智能化浪潮中,大語言模型的出現為客戶服務行業注入了全新動能。然而技術創新的價值不在于技術本身,而在于其賦能服務的深度與廣度。AI對于我們來說,如同發動機之于汽車,重要的不是引擎參數,而是整車帶給用戶的駕駛體…

技術創新如何賦能音視頻直播行業?

在全球音視頻直播行業的快速發展中,技術的持續創新始終是推動行業進步的核心動力。作為大牛直播SDK的開發者,我很榮幸能分享我們公司如何從產品的維度出發,精準把握市場需求,并不斷推動產品的發展,以滿足不斷變化的行業…

Linux線程池(下)(34)

文章目錄 前言一、v3版本二、單例模式概念特點簡單實現 三、其余問題STL線程安全問題智能指針線程安全問題其他鎖的概念 總結 前言 加油!!! 一、v3版本 「優化版」:從任務隊列入手,引入 「生產者消費者模型」&#xff…

Netty 實戰篇:Netty RPC 框架整合 Spring Boot,邁向工程化

本文將基于前面構建的 RPC 能力,嘗試將其與 Spring Boot 整合,借助注解、自動掃描、依賴注入等機制,打造“開箱即用”的 Netty RPC 框架,提升開發效率與工程規范。 一、為什么要整合 Spring Boot? 手動 new 實例、寫注…

Axure中繼器學習筆記

一、中繼器概述 中繼器(Axure Repeater)是Axure中的高級組件,功能類似于數據集成器,主要用于: 數據存儲與管理 數據的增刪改查操作 數據的分頁與展示控制 二、中繼器基本使用流程 數據存儲:將數據儲存在中繼器組件中 數據展…

hf-mirror斷點續傳下載權重

直接瀏覽器雙擊一個一個下載 這種方式不支持斷點續傳 dnf install git-lfs -y 下面成功跳過 LFS 權重下載只拿到 Git 元數據和 LFS 占位符文件了 GIT_LFS_SKIP_SMUDGE1 git clone https://hf-mirror.com/Tongyi-Zhiwen/QwenLong-L1-32B cd QwenLong-L1-32B git lfs install -…

【軟件安裝那些事 3 】CAD(2026 V60.7z) 安裝教程(中文簡體版)步驟完整不跳步 { 附軟件提取下載鏈接,永久有效---------百度網盤 }

通過網盤分享的文件:CAD2026 V60.7z 安裝包 中文 (永久有效) 鏈接: https://pan.baidu.com/s/122UXbOK9iGsD5Ld-lzrfAA?pwdneqd 提取碼: neqd 1、解壓完成后,打開【Setup】文件夾 2、鼠標右擊【Setup】…

RK3399 Android7.1增加應用安裝白名單機制

通過設置應用包名白名單的方式限制未授權的應用軟件安裝。 diff --git a/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java b/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java index af9a533..ca…

體現物聯網環境下安全防護的緊迫性 :物聯網環境下的個人信息安全:隱憂與防護之道

摘要:隨著物聯網的飛速發展,個人信息在物聯網環境下面臨的安全風險日益嚴峻。本文深入探討了物聯網環境下個人信息泄露的主要途徑,分析了當前個人信息安全保護面臨的挑戰,并從技術、法律、企業責任和個人意識等多方面提出了相應的…

vue3 項目配置多語言支持,如何從服務端拿多語言配置

在 Vue3 項目中實現多語言支持并從服務端獲取配置,可以使用 Vue I18n 庫。在初始化階段可以發送請求獲取多語言配置或者通過本地文件加載json文件的方式,都可以實現。我這里是tauri項目,所以使用的是invoke從tauri端拿到配置文件,…

使用ssh-audit掃描ssh過期加密算法配置

使用ssh-audit掃描ssh過期加密算法配置 安裝檢查ssh的加密算法配置修改ssh的加密算法配置 安裝 # pip3安裝ssh-audit pip3 instal ssh-audit檢查ssh的加密算法配置 # 檢查ssh的配置 ssh-audit 192.168.50.149修改ssh的加密算法配置 # 查看ssh加密配置文件是否存在 ls /etc/c…

LeetCode 高頻 SQL 50 題(基礎版)之 【連接】部分 · 下

前五道題&#xff1a;LeetCode 高頻 SQL 50 題&#xff08;基礎版&#xff09;之 【連接】部分 上 題目&#xff1a;577. 員工獎金 題解&#xff1a; select r.name,b.bonus from Employee r left join Bonus b on r.empIdb.empId where b.bonus <1000 or b.bonus is nul…

[yolov11改進系列]基于yolov11引入感受野注意力卷積RFAConv的python源碼+訓練源碼

[RFAConv介紹] 1、RFAConv 在傳統卷積操作中&#xff0c;每個感受野都使用相同的卷積核參數&#xff0c;無法區分不同位置的信息差異&#xff0c;這都限制了網絡性能。此外&#xff0c;由于空間注意力以及現有空間注意力機制的局限性&#xff0c;雖然能夠突出關鍵特征&#xf…

【軟件設計】通過軟件設計提高 Flash 的擦寫次數

目錄 0. 個人簡介 && 授權須知1. Flash 和 EEROM 基本情況2. 場景要求3. 軟件設計思路4. 代碼展示4.1 flash.h4.2 flash.c 0. 個人簡介 && 授權須知 &#x1f4cb; 個人簡介 &#x1f496; 作者簡介&#xff1a;大家好&#xff0c;我是喜歡記錄零碎知識點的菜鳥…

OpenCV CUDA模塊直方圖計算------在 GPU 上計算輸入圖像的直方圖(histogram)函數histEven()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 該函數用于在 GPU 上計算輸入圖像的直方圖&#xff08;histogram&#xff09;。它將像素值區間均勻劃分為若干個 bin&#xff08;桶&#xff09;…