偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Jenkins 完全指南:從 CI/CD 核心概念到實戰(zhàn)安裝與配置

開發(fā) 開發(fā)工具
Jenkins 是一個開源的持續(xù)集成和持續(xù)交付(CI/CD)工具,用于自動化軟件開發(fā)過程中的構建、測試和部署階段。

本文系統(tǒng)介紹了 Jenkins 這一強大的開源 CI/CD 工具,涵蓋其核心架構、分布式特性、主要功能與典型應用場景。深入解析持續(xù)集成(CI)與持續(xù)交付/部署(CD)的區(qū)別與價值,并提供詳細的 Windows 和 Linux 系統(tǒng)安裝教程及初始配置指南。無論你是初學者還是希望深化理解的開發(fā)者,都能通過本文學會如何快速搭建和配置 Jenkins,助力團隊實現自動化構建、測試與部署,提升軟件交付效率與質量。

一、Jenkins 簡介

Jenkins 是一個開源的持續(xù)集成和持續(xù)交付(CI/CD)工具,用于自動化軟件開發(fā)過程中的構建、測試和部署階段。

1. Jenkins 基礎架構圖

圖片圖片

2. 分布式架構圖

圖片圖片

3. 主要特點

  • 開源免費:Jenkins 是 MIT 許可證下的開源軟件
  • 跨平臺:支持 Windows、Linux 和 macOS
  • 可擴展:擁有超過 1800 個插件生態(tài)系統(tǒng)
  • 分布式:支持主從架構,可跨多臺機器分發(fā)工作負載
  • 易于安裝:提供原生安裝包、Docker 鏡像和 WAR 文件部署方式

4. 核心功能

  • 持續(xù)集成:自動構建和測試代碼變更
  • 持續(xù)交付:自動化部署到各種環(huán)境
  • 流水線:通過 Groovy 腳本定義復雜的構建流程
  • 監(jiān)控:提供構建結果和趨勢的可視化
  • 集成:與 Git、SVN、Maven、Docker 等眾多工具集成

5. 典型應用場景

  • 自動化構建和測試軟件項目
  • 定期執(zhí)行靜態(tài)代碼分析
  • 部署應用到測試/生產環(huán)境
  • 執(zhí)行自動化回歸測試套件
  • 生成報告和指標

二、CI/CD 介紹

1. CI - 持續(xù)集成 (Continuous Integration)

1.1. 是什么?

持續(xù)集成是一種軟件開發(fā)實踐,要求開發(fā)人員頻繁地(一天多次)將代碼變更合并到共享的主干分支(如 main 或 trunk)中。每次合并后,會自動觸發(fā)一系列自動化構建和測試流程,以盡快發(fā)現集成錯誤。

1.2. 核心目標:

  • 快速發(fā)現錯誤:在代碼提交后幾分鐘內就能得到反饋,定位問題成本極低。
  • 降低集成風險:避免在項目后期進行“大爆炸”式的合并,減少沖突和不可預測性。
  • 保證軟件質量:確保任何時刻的主干代碼都是可工作的、高質量的。

1.3. 關鍵實踐與流程:

圖片圖片

2. CD - 持續(xù)交付 (Continuous Delivery) 與 持續(xù)部署 (Continuous Deployment)

CD 有兩種非常接近但又關鍵區(qū)別的含義:

2.1. 持續(xù)交付 (Continuous Delivery)

  • 是什么?  是持續(xù)集成的延伸。它確保軟件在通過CI流程后,能夠以一種隨時可可靠、快速地手動部署到生產環(huán)境的狀態(tài)。
  • 核心目標:  讓軟件的發(fā)布過程變得低風險、可預測、一鍵式。部署的決策權在人(點擊一個按鈕)。
  • 關鍵實踐:  在CI的基礎上,增加自動化部署到類生產環(huán)境(Staging) 、進行集成測試、壓力測試等更復雜的測試,并準備好一鍵部署到生產的腳本。

2.2. 持續(xù)部署 (Continuous Deployment)

  • 是什么?  是持續(xù)交付的更高階形態(tài)。它要求所有通過CI流程的代碼變更自動地、無需人工干預地部署到生產環(huán)境。
  • 核心目標:  完全自動化從代碼提交到功能上線的整個流程,實現最快的反饋閉環(huán)。
  • 關鍵實踐:  在持續(xù)交付的基礎上,省略了“手動點擊部署”的步驟,代之以一個自動的、信心極強的發(fā)布流水線。這需要極其完善的自動化測試和監(jiān)控體系作為保障。

2.3. CD 流程圖示

圖片圖片

2.4. CI/CD 的關系與總結

你可以將它們理解為一個自動化流水線的不同階段:

  • CI (持續(xù)集成) :關注的是代碼集成和構建測試的自動化,解決的是“開發(fā)階段”的質量問題。輸出的是一個可信的、可部署的軟件包。
  • CD (持續(xù)交付/持續(xù)部署) :關注的是軟件發(fā)布和部署的自動化,解決的是“交付階段”的效率問題。它接收CI產出的軟件包,并將其安全、快速地交付給用戶。

特性

持續(xù)集成 (CI)

持續(xù)交付 (CD Delivery)

持續(xù)部署 (CD Deployment)

核心關注點

代碼合并與驗證

可靠

的發(fā)布準備

自動

的發(fā)布過程

流程終點

生成可部署的制品

預發(fā)布環(huán)境,等待手動批準

生產環(huán)境

人工干預

無(全自動)

需要

手動觸發(fā)部署

無需

人工干預(全自動)

比喻

工廠的質檢線

:確保每個零件合格

包裝好的商品已裝上貨車

,隨時可以發(fā)往商店

商品自動上架

:貨車一到,機器人就擺上貨架

2.5. 核心價值:

  • 更快地交付價值:新功能、修復能更快地到達用戶手中。
  • 更高的軟件質量:自動化測試捕獲了大多數缺陷。
  • 降低發(fā)布風險:小批量的變更使得回滾更容易,問題更易定位。
  • 減輕團隊壓力:自動化代替了繁瑣重復的手工操作。

Jenkins 這類工具就是實現這條自動化流水線(CI/CD Pipeline)的引擎,它將CI和CD的各個環(huán)節(jié)串聯起來,形成一個完整、可視化的自動化流程。

三、Jenkins安裝

1. Windows 系統(tǒng)安裝 Jenkins

方法1:使用安裝程序(推薦)

  1. 下載安裝包:
  • 訪問 Jenkins 官網
  • 下載 Windows 版本的安裝程序 (.msi 文件)
  1. 運行安裝程序:
  • 雙擊下載的 .msi 文件
  • 按照向導完成安裝(默認選項通常即可)
  1. 安裝完成后:
  • Jenkins 會作為服務自動啟動
  • 打開瀏覽器訪問 http://localhost:8080
  • 按照屏幕提示完成初始設置

方法2:使用 Java WAR 文件

  • 確保已安裝 Java 8 或 11
java -version
  • 下載 Jenkins WAR 文件
curl -L -o jenkins.war https://get.jenkins.io/war-stable/latest/jenkins.war
  • 啟動 Jenkins
java -jar jenkins.war

2. Linux 系統(tǒng)安裝 Jenkins

2.1 Ubuntu/Debian 系統(tǒng)

  • 安裝依賴:
sudo apt update
sudo apt install openjdk-11-jdk
  • 添加 Jenkins 倉庫:
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null
  • 安裝 Jenkins:
sudo apt update
sudo apt install jenkins
  • 啟動 Jenkins:
sudo systemctl start jenkins
sudo systemctl enable jenkins
  • 訪問 Jenkins:

打開瀏覽器訪問 http://your-server-ip:8080

初始管理員密碼在:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

2.2 CentOS/RHEL 系統(tǒng)

  • 安裝依賴:
sudo yum install java-11-openjdk-devel
  • 添加 Jenkins 倉庫:
sudo wget -O /etc/yum.repos.d/jenkins.repo \
  https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  • 安裝 Jenkins:
sudo yum install jenkins
  • 啟動 Jenkins:
sudo systemctl start jenkins
sudo systemctl enable jenkins
  • 訪問 Jenkins:

打開瀏覽器訪問 http://your-server-ip:8080

初始管理員密碼在:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

3. 安裝后配置

第一步:解鎖 Jenkins

當你首次訪問 Jenkins(通常是 http://你的服務器IP:8080)時,會看到這個頁面。

圖片圖片

詳細說明和注意事項:

  1. 密碼文件位置:
  • Linux (Debian/Ubuntu/CentOS): /var/lib/jenkins/secrets/initialAdminPassword
  • Windows: C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword
  • Mac: /Users/共享/Jenkins/Home/secrets/initialAdminPassword
  • Docker: 密碼會直接打印在容器日志中 (docker logs <container-name>)。
  1. 如何查看:
  • Linux: sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  • Windows (PowerShell): type "C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword"
  • Windows (CMD): type "C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword"
  • 在服務器上打開終端或命令行。
  • 使用 cat 或 type 命令查看文件內容,務必完整復制。
  1. 安全提示:
  • 這個密碼是一次性的,僅用于初始解鎖。
  • 解鎖后,Jenkins 會引導你創(chuàng)建新的永久性管理員用戶,此后將不再需要此初始密碼。
  • 如果丟失了此文件或無法訪問,最簡單的解決方法是重新安裝 Jenkins。

第二步:安裝插件

圖片圖片

詳細說明和選項分析:

  1. 安裝推薦插件:
  • Git 集成:從 Git 倉庫拉取代碼。
  • Pipeline:定義和運行流水線任務。
  • SSH Agent:管理 SSH 憑據。
  • Mailer:發(fā)送構建通知郵件。
  • 各種 UI 和工具集成插件。
  • 這是給新手的推薦選項。
  • 它會安裝一套經過篩選的、最常用的插件,包括:
  • 選擇此選項后,你會看到一個進度條,Jenkins 會自動下載并安裝所有插件。安裝過程可能需要幾分鐘,取決于你的網絡速度。
  1. 選擇插件來安裝:
  • 適合高級用戶,或者你清楚知道自己需要什么。
  • 你會看到一個分類的插件列表,可以手動勾選。
  • 如果你不確定,強烈建議先安裝“推薦插件” ,以后隨時可以在 管理Jenkins -> 插件管理 中安裝或卸載其他插件。
  1. 如果安裝失?。?/li>
  • 很常見,通常是由于網絡超時或鏡像源問題。
  • 不要擔心,點擊 重試 按鈕即可。Jenkins 會重新嘗試安裝失敗的插件。
  • 如果多次重試后仍有少數插件失敗,可以先跳過,后續(xù)在插件管理中單獨安裝。

第三步:創(chuàng)建第一個管理員用戶

插件安裝完成后,會跳轉到“創(chuàng)建第一個管理員用戶”頁面。

為什么要創(chuàng)建?初始密碼復雜且不安全,創(chuàng)建專屬的管理員賬戶是保護 Jenkins 實例的第一步。

需要填寫的信息:

  • 用戶名:你的管理員賬號名(例如 adminyourname)。
  • 密碼:設置一個強密碼并確認。
  • 確認密碼:再次輸入密碼。
  • 全名:(可選)用戶的全名。
  • 電子郵件地址:(重要)用于接收系統(tǒng)通知和構建結果。

重要建議:

  • 務必牢記此用戶名和密碼,這是你后續(xù)登錄和管理 Jenkins 的憑證。
  • 如果你只是想先試用一下,也可以點擊右下角的 使用 admin 賬戶繼續(xù) 鏈接,并跳過這一步。但生產環(huán)境強烈不建議這樣做。

第四步:配置實例 URL

這是最后一步,界面標題通常是“實例配置”。

這是什么?這是 Jenkins 用于生成鏈接的根 URL。例如,當它給你發(fā)送一封構建失敗的郵件時,郵件中的鏈接就會基于這個 URL 生成。

如何配置:

  • 默認值:Jenkins 會自動檢測并填寫一個值,通常是 http://你的服務器IP或主機名:8080。
  • 何時需要修改:

使用域名:如果你希望通過域名(如 https://jenkins.your-company.com)訪問,而不是 IP 地址。

使用反向代理:如果你在 Jenkins 前面使用了 Nginx 或 Apache 做代理和 SSL 加密。

端口變更:如果你將來修改了 Jenkins 的監(jiān)聽端口。

對于初次安裝:

  • 如果你只是在本地測試(localhost),直接接受默認值并點擊保存并完成即可。
  • 這個設置以后隨時可以在 管理Jenkins -> 系統(tǒng)配置 中的 Jenkins URL 字段中修改。
責任編輯:武曉燕 來源: Solomon肖哥彈架構
相關推薦

2020-10-21 14:10:28

工具測試開發(fā)

2016-01-14 09:30:46

Hive概念安裝使用

2024-02-26 13:52:00

微服務Kubernetes.NET

2020-10-12 07:00:00

JenkinsDevOps測試工具

2021-09-16 19:22:06

Java概念concurrent

2023-10-17 09:36:32

Spark大數據

2024-05-29 12:50:49

2023-04-27 08:18:25

GitLab開源

2022-05-25 16:32:36

云原生Cloud

2024-05-20 11:23:18

2012-04-25 10:02:39

H3CNGIP

2025-10-27 01:22:00

HTTP接口API

2019-11-07 09:00:39

Jenkins流水線開源

2022-08-31 22:25:53

微服務架構DevOPs

2023-03-13 14:46:32

CI/CD工具軟件開發(fā)

2023-04-26 11:29:58

Jenkins版本Java 11

2025-07-09 07:10:00

2009-07-09 18:20:53

云存儲云計算云服務

2025-07-17 13:52:57

通配符Linux命令行

2025-01-07 00:00:15

Jenkins集成服務器
點贊
收藏

51CTO技術棧公眾號