CI/CD—Jenkins、Maven安裝

Jenkins簡介?

Jenkins 是一款廣泛使用的開源持續集成和持續交付(CI/CD)工具,以下是對它的詳細介紹:

基本信息

  • 起源與發展:Jenkins 最早起源于 Hudson 項目,后來從 Hudson 項目中分離出來獨立發展。自 2011 年正式成為獨立項目后,Jenkins 憑借其強大的功能和活躍的社區支持,迅速成為全球最受歡迎的 CI/CD 工具之一,在軟件開發領域得到了廣泛的應用和推廣。
  • 主要功能:核心功能是持續集成,它可以定期自動從代碼倉庫拉取最新代碼,然后執行構建、測試等一系列任務。并且支持持續交付和持續部署,能將構建好的軟件自動部署到測試環境或生產環境,實現軟件的快速迭代和交付。還提供了豐富的插件擴展機制,通過安裝各種插件,可以與眾多工具和平臺集成,如代碼倉庫 Git、Subversion,測試框架 JUnit、TestNG,容器平臺 Docker 等,滿足不同項目的多樣化需求。

特點

  • 高度可擴展性:擁有大量的插件,涵蓋了從代碼管理、構建工具、測試框架到部署工具等各個方面。用戶可以根據具體項目需求,輕松安裝和配置插件,擴展 Jenkins 的功能,使其能夠適應不同技術棧和開發流程的項目。
  • 多平臺支持:可以在多種操作系統上運行,包括 Windows、Linux、Mac OS 等。這使得它能夠很好地適配不同的開發和運維環境,無論團隊使用何種操作系統,都能方便地部署和使用 Jenkins。
  • 易于配置和使用:提供了直觀的 Web 界面,用戶通過瀏覽器即可方便地進行各種配置和操作。在 Web 界面中,用戶可以輕松創建和管理任務(Jobs),配置構建步驟、觸發條件、環境變量等,無需編寫復雜的腳本或命令,降低了使用門檻。
  • 強大的社區支持:擁有龐大且活躍的社區,這意味著用戶在使用過程中遇到問題時,能夠很容易地在社區中找到解決方案、獲取相關文檔和教程,也可以參與社區的討論和貢獻,推動 Jenkins 的不斷發展和完善。

應用場景

  • 軟件開發流程集成:在軟件開發的整個生命周期中,Jenkins 可以與開發、測試、運維等各個環節的工具和流程緊密集成。例如,在開發階段,它可以與代碼編輯器集成,實時檢測代碼提交并觸發構建;在測試階段,能與各種測試工具配合,自動執行單元測試、集成測試等;在運維階段,可與部署工具結合,實現自動化部署。
  • 多項目管理與協作:對于擁有多個項目的團隊或企業,Jenkins 可以統一管理所有項目的 CI/CD 流程。通過創建不同的任務和視圖,對每個項目進行獨立配置和管理,同時又能在一個平臺上進行整體監控和調度,方便團隊成員之間的協作和溝通。
  • 持續部署與自動化運維:Jenkins 能夠實現軟件的持續部署,將構建好的應用程序自動部署到生產環境中,減少人工干預,提高部署效率和準確性。配合自動化運維工具,還可以實現服務器的自動配置、環境搭建等任務,提升整個運維過程的自動化水平。

Maven 簡介

Maven 是一個基于項目對象模型(POM,Project Object Model)的項目管理和構建自動化工具,由 Apache 軟件基金會開發。它主要用于 Java 項目,但也可以用于其他語言的項目。Maven 的核心功能和優勢體現在以下幾個方面:

  • 依賴管理:Maven 能夠自動下載項目所需的依賴庫,并處理依賴之間的版本沖突。開發者只需在項目的 POM 文件中聲明所需的依賴,Maven 會從中央倉庫或其他指定的倉庫中下載這些依賴。
  • 項目構建:Maven 定義了一套標準的項目構建生命周期,包括清理、編譯、測試、打包、部署等階段。通過執行簡單的命令,開發者可以完成整個項目的構建過程,保證構建過程的一致性和可重復性。
  • 項目管理:Maven 提供了統一的項目結構和配置文件(POM.xml),使得項目的管理和維護更加方便。團隊成員可以根據 POM 文件快速了解項目的依賴、插件和構建配置等信息。

Maven 使用方法

1. 安裝 Maven

  • 下載:訪問 Maven 官方網站(Download Apache Maven – Maven),下載適合你操作系統的二進制發行版。
  • 解壓:將下載的壓縮包解壓到指定目錄,例如?C:\apache-maven-3.8.6(Windows)或?/usr/local/apache-maven-3.8.6(Linux)。
  • 配置環境變量
    • Windows:在系統環境變量中添加?MAVEN_HOME?變量,值為 Maven 的安裝目錄,然后在?Path?變量中添加?%MAVEN_HOME%\bin
    • Linux:編輯?~/.bashrc?或?/etc/profile?文件,添加以下內容:
export MAVEN_HOME=/usr/local/apache-maven-3.8.6
export PATH=$PATH:$MAVEN_HOME/bin

保存文件后,執行?source ~/.bashrc?或?source /etc/profile?使配置生效。

  • 驗證安裝:打開終端或命令提示符,執行?mvn -version?命令,如果顯示 Maven 的版本信息,則說明安裝成功。

2. 創建 Maven 項目

  • 使用命令行創建:打開終端,執行以下命令創建一個簡單的 Java 項目:
mvn archetype:generate -DgroupId=com.example -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
  • groupId:項目的組 ID,通常是公司或組織的域名倒序,如?com.example
  • artifactId:項目的唯一標識符,如?my-project
  • archetypeArtifactId:項目的原型,maven-archetype-quickstart?是一個簡單的 Java 項目原型。
  • interactiveMode=false:表示不使用交互式模式。
  • 使用 IDE 創建:大多數集成開發環境(如 IntelliJ IDEA、Eclipse)都支持創建 Maven 項目。在 IDE 中選擇創建 Maven 項目,按照向導填寫?groupIdartifactId?等信息即可。

3. 配置 POM 文件

POM 文件(pom.xml)是 Maven 項目的核心配置文件,以下是一個簡單的 POM 文件示例:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>my-project</artifactId><version>1.0-SNAPSHOT</version><dependencies><!-- 添加項目依賴 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency></dependencies><build><plugins><!-- 配置編譯插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>
  • <dependencies>:用于聲明項目的依賴,每個?<dependency>?元素包含?groupIdartifactId?和?version?等信息。
  • <build>:用于配置項目的構建過程,包括插件的使用。

4. 執行 Maven 命令

  • 清理項目:執行?mvn clean?命令,刪除項目中的編譯輸出文件,如?target?目錄。
  • 編譯項目:執行?mvn compile?命令,將項目的源代碼編譯為字節碼文件。
  • 運行測試:執行?mvn test?命令,運行項目中的單元測試用例。
  • 打包項目:執行?mvn package?命令,將項目打包為 JAR 或 WAR 文件。
  • 安裝項目到本地倉庫:執行?mvn install?命令,將項目打包并安裝到本地 Maven 倉庫,以便其他項目可以引用。
  • 部署項目到遠程倉庫:執行?mvn deploy?命令,將項目打包并部署到遠程 Maven 倉庫。

通過以上步驟,你可以使用 Maven 來管理和構建 Java 項目。在實際開發中,你可以根據項目的需求,進一步配置 POM 文件,添加更多的依賴和插件。

一、環境準備

1、機器資源

IP內存CPU磁盤空間操作系統安裝目錄
192.168.72.1318G4核80GCentOS 7.9/opt/devops

二、安裝Maven

去官網下載安裝包:Download Apache Maven – Maven

1、解壓安裝包

tar -zxvf apache-maven-3.8.6-bin.tar.gz
mv apache-maven-3.8.6 maven

2、配置環境變量

2.1、配置環境變量

#編輯環境變量
vim /etc/bashrc
MAVEN_PATH=/opt/devops/maven
export PATH=$PATH:${MAVEN_PATH}/bin#加載環境變量
source /etc/bashrc#驗證
echo $PATH 

2.2、檢查環境變量是否生效

mvn -v

?

3、修改maven的倉庫地址

vim /opt/devops/maven/conf/settings.xml
#在159行插入如下內容<mirror>  <id>alimaven</id>  <name>aliyun maven</name>  <url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>          </mirror>

三、安裝JDK17

因為Jenkins版本需要這里我們安裝JDK17

1、下載JDK17

wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1+1/OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz

2、解壓安裝包

tar -zxvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz
mv OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz java

3、配置環境變量

#編輯環境變量
vim /etc/bashrc
JAVA_PATH=/opt/devops/java
export PATH=$PATH:${JAVA_PATH}/bin#加載環境變量
source /etc/bashrc#驗證
echo $PATH 

驗證:

四、安裝Jenkins

下載Jenkins:War Jenkins Packages

1、 運行Jenkins.war程序

nohup java -jar jenkins.war >/dev/null 2>&1 &

?

?

2、Jenkins初始化

?2.1、?瀏覽器上輸入:http://192.168.72.131:8080/

2.2、根據截圖中提示的密碼文件查看初始密碼并進行登錄

?2.3、選擇安裝推薦的插件

2.4、?創建用戶

參考資料:

jdk11版本安裝:Linux安裝openJDK11 - java_my_skill - 博客園

jdk下載鏈接:Java Downloads | Oracle 中國

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

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

相關文章

抽獎系統測試報告

項目鏈接: 管理員登錄頁面 項目功能: 管理員登錄: 登錄方式分為兩種: 手機號密碼登錄: 正確輸入密碼和手機號登錄 短信驗證碼登錄: 輸入手機號,等待驗證碼,輸入驗證碼登錄 管理員注冊: 登錄頁面點擊注冊按鈕即可注冊管理員身份 人員管理模塊: 人員管理模塊分為注冊…

【高級篇】大疆Pocket 3加ENC編碼器實現無線RTMP轉HDMI進導播臺

【高級篇】大疆Pocket 3加ENC編碼器實現無線RTMP轉HDMI進導播臺 文章目錄 準備工作連接設備RTMP概念ENCSHV2推流地址設置大疆Pocket 3直播設置總結 老鐵們好&#xff01; 很久沒寫軟文了&#xff0c;今天給大家帶了一個干貨&#xff0c;如上圖&#xff0c;大疆Pocket 3加ENC編…

【 <一> 煉丹初探:JavaWeb 的起源與基礎】之 Servlet 與 JSP 的協作:MVC 模式的雛形

<前文回顧> 點擊此處查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、Servl…

【不是廣告】華為昇騰的一小步,Pytorch的一大步

華為昇騰的一小步&#xff0c;Pytorch的一大步 關鍵詞 首個、中國首個、全球第十、最高級別&#xff01;看看這些字眼&#xff0c;就知道事情不簡單&#xff01; 書接上文《Pytorch的一小步&#xff0c;昇騰芯片的一大步》 在2023年10月4日PyTorch 2.1版本的發布博客上&…

python從入門到精通(二十六):python文件操作之Word全攻略(基于python-docx)

python文件操作之word技巧大全 word技巧基礎到高級操作大全A.準備工作1. 安裝python-docx庫2. 導入庫 B.基礎操作1. 創建Word文檔1.1 創建文檔對象1.2 添加word標題1.3 添加word段落1.4 設置段落樣式1.5 創建有序列表1.6 創建無序列表1.7添加word分頁1.8 添加word圖片1.9 添加w…

Debian二次開發一體化工作站:提升科研效率的智能工具

在科研領域&#xff0c;數據處理是實驗成功的關鍵環節之一。隨著實驗數據的復雜性和規模不斷增加&#xff0c;傳統的數據處理方法已經難以滿足科研人員的需求。這時&#xff0c;一體化工作站應運而生&#xff0c;成為科研實驗數據處理的 “智能大腦”。 一體化工作站&#xff…

linux學習(五)(服務器審查,正常運行時間負載,身份驗證日志,正在運行的服務,評估可用內存)

服務器審查 在 Linux 中審查服務器的過程包括評估服務器的性能、安全性和配置&#xff0c;以確定需要改進的領域或任何潛在問題。審查的范圍可以包括檢查安全增強功能、檢查日志文件、審查用戶帳戶、分析服務器的網絡配置以及檢查其軟件版本。 Linux 以其穩定性和安全性而聞名…

Redis- 大key

大key 什么是大key問題大key的危害大key的識別方法大key問題的解決方案數據結構優化與拆分壓縮與序列化優化預防與監控機制 什么是大key問題 大Key問題是指在Redis等內存數據庫中&#xff0c;某個Key對應的value數據結構過大&#xff0c;通常是指單個Key的大小超過10KB甚至達到…

C語言_數據結構總結6:鏈式棧

純c語言代碼&#xff0c;不涉及C 順序棧的實現&#xff0c;歡迎查看這篇文章&#xff1a;C語言_數據結構總結5&#xff1a;順序棧-CSDN博客 0. 結構單元 #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct Linknode { ElemType…

新品速遞 | 多通道可編程衰減器+矩陣系統,如何破解復雜通信測試難題?

在無線通信技術快速迭代的今天&#xff0c;多通道可編程數字射頻衰減器和衰減矩陣已成為測試領域不可或缺的核心工具。它們憑借高精度、靈活配置和強大的多通道協同能力&#xff0c;為5G、物聯網、衛星通信等前沿技術的研發與驗證提供了關鍵支持。從基站性能測試到終端設備校準…

AI自動化應用的影響

生產力的迭代也終將伴隨著一代人的落幕。 2025年是AI應用爆發的開局之年&#xff0c;預計3-5年現有生產關系將出現顛覆性改革。 AI自動化對經濟和就業的影響是一個復雜且多維的問題&#xff0c;其長期影響取決于技術進步、政策調控、社會適應能力等多重因素的綜合作用。以下從技…

潤開鴻重磅首發基于“RISC-V+OpenHarmony+星閃”的“鴻銳”AI開發平臺

潤開鴻重磅首發基于“RISC-VOpenHarmony星閃”的“鴻銳”AI開發平臺 2月28日&#xff0c;2025中國RISC-V生態大會在北京中關村國際創新中心隆重召開。作為領先的鴻蒙生態專業技術公司和終端操作系統發行版提供商&#xff0c;以及不斷推進基于RISC-V與OpenHarmony全棧開源生態構…

Java 深度復制對象:從基礎到實戰

目錄 一、深度復制的概念二、實現深度復制的方法1. 使用序列化2. 手動實現深度復制 三、總結 在 Java 編程中&#xff0c;對象的復制是一個常見的需求。然而&#xff0c;簡單的復制操作&#xff08;如直接賦值&#xff09;只會復制對象的引用&#xff0c;而不是創建一個新的對象…

C++ Primer 交換操作

歡迎閱讀我的 【CPrimer】專欄 專欄簡介&#xff1a;本專欄主要面向C初學者&#xff0c;解釋C的一些基本概念和基礎語言特性&#xff0c;涉及C標準庫的用法&#xff0c;面向對象特性&#xff0c;泛型特性高級用法。通過使用標準庫中定義的抽象設施&#xff0c;使你更加適應高級…

FFmpeg-chapter7和chapter8-使用 FFmpeg 解碼視頻(原理篇和實站篇)

解碼流程如下圖 流程&#xff1a;首先&#xff0c;通過 avcodec_alloc_context3(nullptr) 分配一個 AVCodecContext 結構體&#xff0c;然后使用 avcodec_parameters_to_context 將參數復制到上下文中&#xff0c;接著通過 avcodec_find_decoder 查找指定的解碼器&#xff0c;并…

2025 docker安裝TiDB數據庫

1.確保安裝了docker和docker-compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod x /usr/local/bin/docker-compose2.編寫 Docker Compose 文…

定制化開發的WooCommerce獨立站商城更安全

定制化開發的WooCommerce獨立站商城在安全性、交易風險控制以及整體用戶體驗方面有顯著優勢。以下是定制化開發在這些方面的具體表現&#xff1a; 1. 安全性更高 定制化開發允許開發者從底層架構開始設計和優化&#xff0c;確保網站的安全性。以下是具體表現&#xff1a; (1…

CSS【實戰】模擬 html 的 title 屬性(鼠標懸浮顯示提示文字)

效果 原理 提示內容的定位&#xff1a;子絕父相鼠標懸浮前&#xff0c;提示內容visibility: hidden;通過 :hover 觸發鼠標懸浮樣式&#xff0c;提示內容變為 visibility: visible; 代碼 <!DOCTYPE html> <html lang"en"><head><meta charset&qu…

K8s控制器Deployment詳解

回顧 ReplicaSet 控制器,該控制器是用來維護集群中運行的 Pod 數量的&#xff0c;但是往往在實際操作的時候&#xff0c;我們反而不會去直接使用 RS&#xff0c;而是會使用更上層的控制器&#xff0c;比如說 Deployment。 Deployment 一個非常重要的功能就是實現了 Pod 的滾動…

【MYSQL數據庫異常處理】執行SQL語句報超時異常

MYSQL執行SQL語句異常&#xff1a;The last packet successfully received from the server was 100,107 milliseconds ago. The last packet sent successfully to the server was 100,101 milliseconds ago. 這個錯誤表明 MySQL 服務器與 JDBC 連接之間的通信超時了。通常由…