自動化運維與開發(Shell+Python+Ansible+CI/CD)(AI助學)(微課版)

張偉麗 姚駿屏 郭瑩

  • 出版商: 人民郵電
  • 出版日期: 2026-09-01
  • 定價: $359
  • 售價: $358
  • 語言: 簡體中文
  • ISBN: 7115701407
  • ISBN-13: 9787115701404
  • 相關分類: CI/CDAnsibleLinux
  • 下單後立即進貨 (約4週~6週)

  • 自動化運維與開發(Shell+Python+Ansible+CI/CD)(AI助學)(微課版)-preview-1
自動化運維與開發(Shell+Python+Ansible+CI/CD)(AI助學)(微課版)-preview-1

相關主題

商品描述

本書聚焦自動化運維與開發領域,以“項目引領、能力遞進”為核心,構建涵蓋Shell腳本、Python開發、Ansible工具、CI/CD四大技術方向的知識體系,通過6個真實企業級項目串聯起從基礎腳本編寫到高階持續集成的完整教學內容。 本書以GPMall網上商城雲端自動化部署、基於Python腳本的輕量級服務集群狀態監控系統、基於RESTful API的B/S架構服務器狀態監控系統、OpenStack私有雲平臺自動化運維和開發、基於Ansible的WordPress個人博客一鍵部署、CI/CD自動化編譯和部署GPMall商城等真實場景為載體,系統講解Shell腳本語法與調試、Python自動化運維與開發、Ansible自動化工具應用以及Kubernetes+Harbor+Jenkins+GitLab CI/CD流水線搭建等核心技術,同時融入AI工具以優化實踐及崗課賽證融通內容。本書涉及的項目均取材於企業真實案例,按照企業運維開發流程進行設計,每個任務均給出詳細的思路解析與操作步驟,既便於讀者快速掌握技術要點,又能引導其理解技術原理與業務場景的適配邏輯,實現舉一反三。全書內容由淺入深、梯度清晰,理論講解與實操指導緊密結合,完美適配高職“理實一體化”教學模式。 本書可作為應用型本科、職業院校計算機相關專業自動化運維與開發課程的核心教材,也適合廣大計算機從業者和愛好者學習與參考,還適合具備Linux與雲計算基礎的學習者使用。

作者簡介

張偉麗,副教授,“雙師型”教師,具有9年企業軟件研發和管理經歷,現任山東電子職業技術學院雲計算技術應用專業專任教師,講授課程包括Python程序設計,雲計算架構及自動化運維與開發等。參與國家職業教育雲計算技術與應用專業教學資源庫子項目《雲計算基礎架構平臺應用》,2023年獲得山東省職業院校教學能力大賽二等獎,2024年獲山東省第十一屆青年教師教學能力比賽二等獎。

目錄大綱

目 錄 第 一篇 Shell腳本運維部署篇 項目1 GPMall網上商城雲端自動化 部署 1 【項目描述】 1 【項目拆分】 1 【職業能力及素養目標】 2 任務1 服務器系統配置初始化 2 1.1 任務分析 2 1.2 知識儲備 2 1.2.1 Shell概述 2 1.2.2 初識Shell腳本 3 1.2.3 常用操作技巧和命令 4 1.2.4 Shell變量 7 1.2.5 算術運算 11 1.3 案例應用 一鍵編譯安裝Python 環境 12 1.4 任務實施 服務器環境初始化 14 1.5 任務小結 15 【任務習題】 16 任務2 基礎應用和服務安裝 17 2.1 任務分析 17 2.2 知識儲備 17 2.2.1 條件表達式 17 2.2.2 if語句 21 2.2.3 case語句 23 2.3 案例應用 Java開發環境搭建 25 2.4 任務實施 基礎服務安裝 27 2.5 任務小結 28 【任務習題】 29 任務3 商城部署菜單設計與實現 31 3.1 任務分析 31 3.2 知識儲備 31 3.2.1 for、while和until循環 31 3.2.2 break和continue循環控制 35 3.2.3 select語句 37 3.3 案例應用 批量添加Linux用戶 38 3.4 任務實施 部署菜單設計與實現 40 3.5 任務小結 42 【任務習題】 42 任務4 應用服務配置文件修改 44 4.1 任務分析 44 4.2 知識儲備 44 4.2.1 正則表達式 44 4.2.2 grep、sed和awk命令 46 4.3 案例應用 批量修改Redis日誌 級別 48 4.4 任務實施 應用配置文件修改 50 4.5 任務小結 51 【任務習題】 51 任務5 商城服務啟動和運行 53 5.1 任務分析 53 5.2 知識儲備 53 5.2.1 函數設計和使用 53 5.2.2 腳本調試 56 5.3 案例應用 批量檢測主機存活 狀態 57 5.4 任務實施 商城服務啟動運行 58 5.5 任務小結 59 【任務習題】 60 AI助力腳本優化升級 61 第二篇 Python語言開發篇 項目2 基於Python腳本的輕量級 服務集群狀態監控系統 62 【項目描述】 62 【項目拆分】 62 【職業能力及素養目標】 63 任務1 psutil實現系統狀態信息采集 63 1.1 任務分析 63 1.2 知識儲備 63 1.2.1 系統資源指標體系 63 1.2.2 psutil模塊介紹 65 1.2.3 psutil核心資源監控方法 66 1.3 任務實施 實時數據采集器的 設計與實現 67 1.4 任務小結 70 【任務習題】 71 任務2 logging實現日誌管理 72 2.1 任務分析 72 2.2 知識儲備 72 2.2.1 logging模塊介紹和基礎用法 72 2.2.2 logging模塊核心組件 73 2.3 任務實施 控制臺和文件日誌 雙輸出配置 74 2.4 任務小結 76 【任務習題】 77 任務3 smtplib和email實現異常 郵件報警 79 3.1 任務分析 79 3.2 知識儲備 79 3.2.1 smtplib和email模塊介紹 79 3.2.2 smtplib實現郵件發送 79 3.2.3 email構造郵件內容 81 3.3 任務實施 實現帶附件的告警 郵件發送 83 3.4 任務小結 85 【任務習題】 86 任務4 paramiko實現腳本遠程自動化 部署 88 4.1 任務分析 88 4.2 知識儲備 88 4.2.1 paramiko模塊介紹 88 4.2.2 SSHClient遠程連接與命令 執行 88 4.2.3 SFTPClient實現遠程文件 操作 89 4.3 任務實施 自動推送和執行 腳本 90 4.4 任務小結 94 【任務習題】 94 AI助力腳本優化升級 95 項目3 基於RESTful API的B/S架構 服務器狀態監控系統 97 【項目描述】 97 【項目拆分】 97 【職業能力及素養目標】 98 任務1 使用Flask搭建服務器 98 1.1 任務分析 98 1.2 知識儲備 98 1.2.1 RESTful API原理 98 1.2.2 Flask模塊介紹和使用 99 1.3 任務實施 Flask實現系統狀態 數據采集與響應 服務 101 1.4 任務小結 103 【任務習題】 103 任務2 使用requests開發客戶端 105 2.1 任務分析 105 2.2 知識儲備 105 2.2.1 requests模塊介紹 105 2.2.2 requests庫的核心方法 105 2.2.3 requests庫的Response 類型 108 2.3 任務實施 基於requests的 服務器狀態監控 系統客戶端 109 2.4 任務小結 111 【任務習題】 111 任務3 CSV數據存儲實現 113 3.1 任務分析 113 3.2 知識儲備 113 3.2.1 JSON格式和CSV格式 介紹 113 3.2.2 JSON數據保存至CSV 文件 114 3.3 任務實施 CSV數據持久化 存儲 116 3.4 任務小結 117 【任務習題】 118 任務4 pymysql實現數據持久化 存儲 120 4.1 任務分析 120 4.2 知識儲備 120 4.2.1 pymysql模塊介紹 120 4.2.2 pymysql核心類和方法 121 4.2.3 整體數據操作流程 123 4.3 任務實施 MySQL結構化數據 存儲 123 4.4 任務小結 125 【任務習題】 126 AI助力腳本優化升級 127 項目4 OpenStack私有雲平臺 自動化運維和開發 129 【項目描述】 129 【項目拆分】 129 【職業能力及素養目標】 129 任務1 基於RESTful API方式實現 用戶管理 130 1.1 任務分析 130 1.2 知識儲備 130 1.2.1 OpenStack API請求方式 130 1.2.2 OpenStack API手冊簡介 131 1.2.3 OpenStack Identity API v3 介紹 134 1.2.4 OpenStack API Token授權 認證 136 1.3 任務實施 基於RESTful API 的用戶管理功能 開發 137 1.4 任務小結 139 【任務習題】 140 任務2 基於OpenStack SDK方式 實現雲主機管理 142 2.1 任務分析 142 2.2 知識儲備 142 2.2.1 OpenStack SDK介紹 142 2.2.2 OpenStack SDK核心類 143 2.2.3 OpenStack SDK連接管理 143 2.3 任務實施 基於OpenStack SDK的雲主機 管理功能開發 144 2.4 任務小結 147 【任務習題】 148 AI助力腳本優化升級 148 第三篇 Ansible自動化運維工具篇 項目5 基於Ansible的WordPress 個人博客一鍵部署 150 【項目描述】 150 【項目拆分】 150 【職業能力及素養目標】 151 任務1 Ansible自動化運維環境 搭建 151 1.1 任務分析 151 1.2 知識儲備 151 1.2.1 Ansible工具介紹及安裝 151 1.2.2 配置文件和主機清單 153 1.3 任務實施 構建多節點Ansible 控制環境 154 1.4 任務小結 156 【任務習題】 157 任務2 Ad-hoc命令批量部署應用 158 2.1 任務分析 158 2.2 知識儲備 158 2.2.1 Ad-hoc命令的工作原理 158 2.2.2 Ansible的常用模塊 159 2.3 任務實施 基於Ad-hoc命令 部署MariaDB 數據庫 163 2.4 任務小結 164 【任務習題】 165 任務3 基於簡單Playbook一鍵部署 單節點WordPress 167 3.1 任務分析 167 3.2 知識儲備 167 3.2.1 Playbook介紹 167 3.2.2 Playbook的語法規則和核心 要素 168 3.2.3 Playbook的執行與驗證 170 3.3 案例應用 使用Playbook完成 多主機Nginx安裝 部署 171 3.4 任務實施 單節點WordPress 個人博客部署 172 3.5 任務小結 176 【任務習題】 177 任務4 基於Role的Playbook多節點 部署WordPress個人 博客 178 4.1 任務分析 178 4.2 知識儲備 178 4.2.1 Role管理介紹 178 4.2.2 創建和編寫角色 180 4.3 任務實施 基於Role的多節點 WordPress個人 博客部署 182 4.4 任務小結 186 【任務習題】 187 AI助力Playbook劇本優化升級 188 第四篇 CI/CD篇 項目6 CI/CD自動化編譯和部署 GPMall商城 189 【項目描述】 189 【項目拆分】 189 【職業能力及素養目標】 190 任務1 部署Kubernetes集群和 Harbor 190 1.1 任務分析 190 1.2 知識儲備 190 1.2.1 什麼是Kubernetes 190 1.2.2 什麼是Harbor 191 1.3 任務實施 192 1.3.1 安裝操作系統 192 1.3.2 部署Kubernetes集群 192 1.3.3 部署Harbor 198 1.4 任務小結 202 【任務習題】 202 任務2 安裝Jenkins 203 2.1 任務分析 203 2.2 知識儲備 203 2.2.1 Jenkins概述 203 2.2.2 docker-compose概述 203 2.2.3 Docker in Docker概述 204 2.3 任務實施 204 2.3.1 加載鏡像 204 2.3.2 準備Jenkins的docker- compose.yaml 205 2.3.3 啟動和初始化Jenkins 206 2.4 任務小結 209 【任務習題】 209 任務3 安裝GitLab 210 3.1 任務分析 210 3.2 知識儲備 210 3.2.1 什麼是Git 210 3.2.2 GitLab介紹 210 3.3 任務實施 211 3.3.1 編寫GitLab的docker- compose.yaml 211 3.3.2 啟動並登錄GitLab,創建 新項目 212 3.3.3 安裝Git並上傳GPMall 源碼 214 3.4 任務小結 215 【任務習題】 215 任務4 配置GitLab和Jenkins 217 4.1 任務分析 217 4.2 知識儲備 217 Maven介紹 217 4.3 任務實施 217 4.3.1 配置GitLab和Jenkins 217 4.3.2 安裝Maven 220 4.4 任務小結 221 【任務習題】 221 任務5 配置和觸發CI/CD 223 5.1 任務分析 223 5.2 知識儲備 223 5.2.1 什麼是Jenkins流水線 223 5.2.2 Jenkins腳本式流水線的組成及 作用 224 5.3 任務實施 226 5.3.1 在Jenkins中配置流水線 任務 226 5.3.2 進行CI/CD觸發更新前的準備 工作 236 5.3.3 觸發構建,實現項目的持續 集成 238 5.4 任務小結 239 【任務習題】 239 AI助力生成Jenkins流水線腳本 240 參考文獻 241