Jenkins 全方位指南:安裝、配置、部署與實戰應用(含圖解)

一、Jenkins 安裝

1.1 系統要求

  • 基礎環境:Java 8 或 Java 11(推薦)、至少 2GB 內存、10GB 以上磁盤空間
  • 支持系統:Windows、Linux(Ubuntu/CentOS)、macOS
  • 網絡端口:默認使用 8080 端口(需確保端口未被占用)

1.2 不同系統安裝步驟(附圖解)

1.2.1 Ubuntu 系統安裝

步驟流程圖解

執行命令

# 更新系統包
sudo apt update# 安裝 Java 11
sudo apt install openjdk-11-jdk# 導入 Jenkins 密鑰
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -# 添加 Jenkins 源
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'# 安裝 Jenkins
sudo apt update && sudo apt install jenkins# 啟動服務并設置開機自啟
sudo systemctl start jenkins
sudo systemctl enable jenkins# 檢查狀態(出現 "active (running)" 即為成功)
sudo systemctl status jenkins
1.2.2 CentOS 系統安裝

步驟流程圖解

執行命令

# 安裝 Java 11
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# 啟動并設置自啟
sudo systemctl start jenkins
sudo systemctl enable jenkins# 開放 8080 端口(防火墻配置)
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload# 驗證端口
sudo firewall-cmd --list-ports | grep 8080
1.2.3 Windows 系統安裝

步驟流程圖解

操作步驟

  1. 下載安裝包:訪問 Jenkins 官網,選擇 Windows 版本(.msi 格式)
  2. 雙擊安裝包,按照向導提示完成安裝(默認配置即可滿足基礎需求)
  3. 安裝完成后,Jenkins 會自動作為服務啟動,可在 “服務” 中查看狀態(服務名:Jenkins)

二、Jenkins 初始配置

2.1 解鎖 Jenkins(核心步驟圖解)

解鎖流程圖解

詳細操作

  1. 訪問 Jenkins 界面:打開瀏覽器,輸入 http://服務器IP:8080(本地部署用 localhost:8080)
  2. 獲取初始密碼
    • Linux 系統:執行命令 sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    • Windows 系統:密碼文件路徑 C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword

? ? ?3. 輸入密碼解鎖:將獲取到的密碼復制到頁面輸入框,點擊 “繼續”

2.2 插件安裝與管理員配置

配置流程圖解

關鍵說明

  • 推薦插件:包含 Git、Pipeline、Maven Integration 等核心插件,適合新手
  • 自定義插件:后續可通過 “插件管理” 補充安裝,常用插件清單:
    • Git:拉取 Git 倉庫代碼
    • Pipeline:創建流水線項目
    • Docker:Docker 鏡像構建與部署
    • Publish Over SSH:通過 SSH 部署應用
    • NodeJS:構建前端(React/Vue)項目

三、Jenkins 全局配置(工具與環境)

3.1 配置 JDK(圖解步驟)

配置流程圖解

路徑獲取方法

  • Linux 系統:執行 which java 或 update-alternatives --config java,獲取路徑(如 /usr/lib/jvm/java-11-openjdk-amd64)
  • Windows 系統:默認路徑 C:\Program Files\Java\jdk-11.x.x

3.2 配置 Maven(前端項目可跳過)

配置流程圖解

  • 手動安裝:若服務器已安裝 Maven,取消 “自動安裝”,填寫路徑(如 Linux 下 /usr/local/maven)

3.3 配置 SSH 服務器(用于應用部署)

配置流程圖解

  • 認證方式說明
    • 密碼認證:直接輸入服務器登錄密碼(簡單但安全性較低)
    • 密鑰認證:將 Jenkins 服務器的公鑰(~/.ssh/id_rsa.pub)添加到目標服務器的 ~/.ssh/authorized_keys 中(推薦)

四、創建第一個 Jenkins 項目(實戰)

4.1 自由風格項目(適合簡單任務)

創建流程圖解

示例:構建簡單 Java 項目

  • 源碼管理:Git 倉庫 URL(如 https://github.com/example/java-demo.git)
  • 構建步驟:選擇 “執行 Shell”,輸入 mvn clean package -DskipTests(編譯打包)
  • 構建后操作:選擇 “Publish over SSH”,將 target/*.jar 發送到目標服務器

4.2 Pipeline 項目(推薦,支持復雜流程)

Pipeline 用代碼定義構建流程(Jenkinsfile),支持版本控制,適合團隊協作。

4.2.1 Pipeline 項目創建圖解

4.2.2 實戰:Spring Boot 應用 Pipeline 腳本(含流程圖解)

Pipeline 流程圖解

腳本說明

  • agent any:使用任意可用的 Jenkins 節點(主節點或從節點)
  • stages:定義構建階段,按順序執行
  • post:構建完成后操作(成功 / 失敗通知)

五、應用部署實戰(前后端示例)

5.1 后端:Spring Boot 應用部署(Docker 方式)

部署流程圖解

關鍵命令

# 構建鏡像(在 Jenkinsfile 中)
docker build -t username/demo:${BUILD_NUMBER} .# 推送鏡像(需配置 Docker 憑據)
docker login -u username -p password
docker push username/demo:${BUILD_NUMBER}# 目標服務器部署
docker stop demo || true
docker rm demo || true
docker run -d --name demo -p 8080:8080 username/demo:${BUILD_NUMBER}

5.2 前端:React 應用部署(Nginx 方式)

部署流程圖解

Nginx 配置示例

server {listen 80;server_name demo-frontend.com; # 域名或服務器 IProot /usr/share/nginx/html; # Jenkins 推送的 build 目錄路徑index index.html;# 解決前端路由刷新 404 問題location / {try_files $uri $uri/ /index.html;}
}

六、Jenkins 安全與維護

6.1 用戶權限控制(圖解)

配置流程圖解

常用權限說明

  • 只讀:查看項目狀態,無法觸發構建
  • 構建:觸發構建、查看日志,無法修改配置
  • 管理員:完全控制 Jenkins(配置、插件管理、用戶管理)

6.2 數據備份與恢復

備份流程圖解

備份腳本示例(Linux 系統):

#!/bin/bash
# backup_jenkins.sh
JENKINS_HOME="/var/lib/jenkins"
BACKUP_DIR="/var/backups/jenkins"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")# 創建備份目錄
mkdir -p $BACKUP_DIR# 壓縮備份
tar -zcvf $BACKUP_DIR/jenkins_backup_$TIMESTAMP.tar.gz $JENKINS_HOME# 刪除 30 天前的備份
find $BACKUP_DIR -name "jenkins_backup_*.tar.gz" -mtime +30 -delete

定時任務配置

# 每天凌晨 2 點執行備份
crontab -e
0 2 * * * /path/to/backup_jenkins.sh

七、總結與進階方向

7.1 核心能力回顧

通過本文學習,可掌握:

  1. 多系統 Jenkins 安裝與初始配置
  2. 全局工具(JDK、Maven、Git)配置
  3. 自由風格與 Pipeline 項目創建
  4. 前后端應用部署實戰(Docker、Nginx)
  5. 安全配置與數據備份

7.2 進階方向

  1. 多環境部署:通過 Pipeline 實現開發、測試、生產環境一鍵切換
  2. 藍綠部署 / 金絲雀發布:減少部署風險,實現無感知更新
  3. Jenkins 從節點:分布式構建,分擔主節點壓力(適合大型項目)
  4. 集成監控工具:如 Prometheus + Grafana,監控 Jenkins 構建狀態與服務器資源

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

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

相關文章

以國產IoTDB為代表的主流時序數據庫架構與性能深度選型評測

> 💡 原創經驗總結,禁止AI洗稿!轉載需授權 > 聲明:本文所有觀點均基于多個領域的真實項目落地經驗總結,數據說話,拒絕空談! 目錄 引言:時序數據庫選型的“下半場” 一、維…

7.2elementplus的表單布局與模式

基礎表單<template><el-form ref"ruleFormRef" :model"form" :rules"rules" label-width"100px"><el-form-item label"用戶名" prop"username"><el-input v-model"form.username"…

PyTorch實戰(3)——PyTorch vs. TensorFlow詳解

PyTorch實戰&#xff08;3&#xff09;——PyTorch vs. TensorFlow詳解0. 前言1. 張量2. PyTorch 模塊2.1 torch.nn2.2 torch.optim2.3 torch.utils.data3. 使用 PyTorch 訓練神經網絡小結系列鏈接0. 前言 PyTorch 是一個基于 Torch 庫的 Python 機器學習庫&#xff0c;廣泛用…

在win服務器部署vue+springboot + Maven前端后端流程詳解,含ip端口講解

代碼打包與基本配置 首先配置一臺win系統服務器&#xff0c;開放你前端和后端運行的端口&#xff0c;如80和8080 前端打包 前端使用vue3&#xff0c;在打包前修改項目配置文件&#xff0c;我使用的是vite所以是vite.config.js。 import { defineConfig } from vite import …

Springcloud-----Nacos

一、Nacos的安裝 Nacos是阿里推出的一種注冊中心組件&#xff0c;并且已經開源&#xff0c;目前是國內最為流行的注冊中心組件。下面我們來了解一下如何安裝并啟動Nacos。 Nacos是一個獨立的項目&#xff0c;我們可以去GitHub上下載其壓縮包來使用&#xff0c;地址如下&#x…

騰訊云重保流程詳解:從預案到復盤的全周期安全防護

摘要 騰訊云針對國家級重大活動&#xff08;如進博會、冬奧會等&#xff09;提供的網絡安全保障服務&#xff08;重保&#xff09;是一套系統化的主動防御體系。本文從“事前準備”“事中響應”“事后復盤”三個核心階段出發&#xff0c;結合民生銀行等典型用戶的實戰案例&…

單表查詢-group by rollup優化

1、group by rollup基本用法 我們有時候在項目上看到group by rollup用法&#xff0c;其實就是對group by分組進行合計。 下面看一下例子 select count(1),c3 from t1 group by rollup(c3); 計劃從計劃中解讀亦是如此&#xff0c;另外可以從結果上進行分析第21行的count其實就是…

云網絡(參考自騰訊云計算工程師認證)

計算機網絡&#xff1a;OSI七層模型&#xff1a; 應用層&#xff1a;負責處理網絡應用程序之間的通信、 表示層&#xff1a;負責數據的格式化和加密、 會話層&#xff1a;負責建立、管理和終止會話、 傳輸層&#xff1a;負責端到端的可靠傳輸、 網絡層&#xff1a;負責數據的路…

【MLLM】多模態理解Ovis2.5模型和訓練流程(更新中)

note 模型架構&#xff1a;延續 Ovis 系列創新的結構化嵌入對齊設計。 Ovis2.5 由三大組件構成&#xff1a;動態分辨率 ViT 高效提取視覺特征&#xff0c;Ovis 視覺詞表模塊實現視覺與文本嵌入的結構對齊&#xff0c;最后由強大的 Qwen3 作為語言基座&#xff0c;處理多模態嵌…

mysql中的通用語法及分類

MySQL 是一種廣泛使用的關系型數據庫管理系統&#xff08;RDBMS&#xff09;&#xff0c;其語法設計遵循 SQL 標準&#xff0c;但也有一些特有的擴展。以下從??通用語法規范??和??SQL 語句分類??兩個維度系統梳理 MySQL 的核心語法體系。一、MySQL 通用語法規范通用語法…

Linux-搭建NFS服務器

Linux-搭建NFS服務器前言一、網絡配置二、在nfs服務器上安裝nfs-utils軟件包三、設置共享目錄四、掛載NFS共享目錄前言 NFS&#xff08;Network File System&#xff0c;網絡文件系統&#xff09; 是一種分布式文件系統協議&#xff0c;最初由 Sun Microsystems 于 1984 年開發…

eslasticsearch+ik分詞器+kibana

eslasticsearch 下載地址:https://www.elastic.co/cn/downloads/past-releases ik分詞器 下載地址&#xff1a;https://release.infinilabs.com/analysis-ik/stable/ kibana 下載地址&#xff1a;https://www.elastic.co/cn/downloads/kibana 1、解壓安裝包 將下載的 zi…

SOME/IP-SD IPv4組播的通信參數由誰指定?

<摘要> 在AUTOSAR SOME/IP-SD協議中&#xff0c;組播通信參數&#xff08;地址、協議、端口&#xff09;的協商機制。其核心在于明確規定了組播流的發布者和接收者之間由誰來“指定”通信路徑&#xff0c;從而確保雙方能夠成功會合&#xff0c;實現高效的一對多事件分發。…

新手首次操作SEO核心要點

內容概要 初次接觸SEO的新手朋友們&#xff0c;面對浩瀚的網絡優化知識&#xff0c;難免感到無從下手。這份2025年的零基礎入門指南&#xff0c;正是為你們量身打造。它清晰地規劃了學習路徑&#xff0c;從最基礎的網站搭建注意事項開始&#xff0c;幫助你避開常見陷阱&#xf…

AI、人工智能基礎: 模型剪枝的概念與實踐(PyTorch版)

胡說八道: 各位觀眾老爺&#xff0c;大家好&#xff0c;我是詩人啊_&#xff0c;今天和各位分享模型剪枝的相關知識和操作&#xff0c;一文速通&#xff5e; &#xff08;屏幕前的你&#xff0c;帥氣低調有內涵&#xff0c;美麗大方很優雅… 所以&#xff0c;求個點贊、收藏、關…

Kubernetes 服務發現與健康檢查詳解

Kubernetes 提供了多種機制來管理服務發現、負載均衡和容器健康狀態監控。本文將圍繞以下幾個方面展開&#xff1a;Service 類型&#xff1a;ClusterIP、NodePort、Headless Service、LoadBalancer&#xff08;MetallB&#xff09;Ingress 的實現原理健康檢查探針&#xff1a;L…

如何規劃一年、三年、五年的IP發展路線圖?

?在知識付費領域&#xff0c;規劃 IP 發展路線&#xff0c;需要從短期、中期、長期不同階段&#xff0c;系統地布局內容、運營與商業變現&#xff0c;逐步提升 IP 影響力與商業價值。一年目標&#xff1a;立足定位&#xff0c;夯實基礎精準定位&#xff0c;打磨內容利用創客匠…

C++從入門到實戰(二十)詳細講解C++List的使用及模擬實現

C從入門到實戰&#xff08;二十&#xff09;C List的使用及模擬實現前言一、什么是List1.1 List的核心特性1.2 List與vector的核心差異1.3 List的構造、拷貝構造與析構1.3.1 常用構造函數1.3.2 析構函數1.4 List的迭代器1.4.1 迭代器類型與用法示例1&#xff1a;正向迭代器遍歷…

人工智能學習:機器學習相關面試題(一)

1、 機器學習中特征的理解 def: 特征選擇和降維 特征選擇&#xff1a;原有特征選擇出子集 &#xff0c;不改變原來的特征空間 降維&#xff1a;將原有的特征重組成為包含信息更多的特征&#xff0c; 改變了原有的特征空間降維的主要方法 Principal Component Analysis (主成…

亞馬遜巴西戰略升級:物流網絡重構背后的生態革新與技術賦能之路

在全球電商版圖中&#xff0c;拉美市場正以驚人的增長速度成為新的戰略高地&#xff0c;而巴西作為其中的核心市場&#xff0c;憑借龐大的人口基數、高速發展的數字經濟以及不斷提升的消費能力&#xff0c;吸引著眾多電商巨頭爭相布局。近日&#xff0c;亞馬遜宣布將于2025年底…