Apress/DevSecOps-for-Linux

GitHub: Apress/DevSecOps-for-Linux

Apress 图书《面向 Linux 的 DevSecOps 和 DevOps:基础》的配套代码仓库,以渐进式 Python 实践项目演示从开发、安全审计到 CI/CD 流水线的完整 DevOps 生命周期。

Stars: 0 | Forks: 0

# 配套资源:面向 Linux 的 DevSecOps 和 DevOps *基础* 欢迎来到由 *Marco Antonio Carcano* 撰写(Apress 出版)的**《面向 Linux 的 DevSecOps 和 DevOps:基础》**("DevSecOps and DevOps for Linux: The Foundations")官方代码库。 本书弥合了 DevOps 理论文化与生产级 Linux 实现之间的差距:除了必不可少的理论概念之外,本书不仅限于提供孤立的示例和代码片段,还提供了一个独立的 Git 仓库,让您能够与一个**生动的、不断演进的代码库**进行交互,该代码库分布在多个 Git 分支中。 ## 🚀 如何开始 1. **下载实验文件:** 下载 [devsecops-pillars.tar.gz](https://github.com/Apress/DevSecOps-for-Linux/releases/tag/v1.0.0)。 2. **跟随本书的学习旅程:** 按照书中的说明解压 tarball,以获取逐步的章节脚本和实验环境。 ## 📦 内容介绍:`fancymonitor` 项目 *fancymonitor* 项目是本书中隐藏的瑰宝:它是一个随章节讲解的主题不断演进的实践实验,不断增加功能,直到成为功能齐全的独立 Python 项目,旨在模拟真实世界的企业开发生命周期,包括 Gitea Action Workflows。 为了让您大致了解培训结束时的成果,*fancymonitor* 项目的 *main* 分支已被提取到这个 GitHub 仓库的 [fancymonitor](fancymonitor) 目录中。 ### 🛡️ 持续集成与左移安全 * **[.pre-commit-config.yaml](fancymonitor/.pre-commit-config.yaml)**:预配置的 pre-commit 框架,执行静态代码分析(**Flake8**、**Pylint**)和自动化安全漏洞扫描(**Bandit**)。 * **[setup.cfg](fancymonitor/setup.cfg)**:针对 Flake8、Pylint 和 Bandit 的集中式、微调配置。 * **[.safety-project.ini](fancymonitor/.safety-project.ini)**:通过 **Safety** 进行依赖漏洞扫描的专用策略配置。 ### 🛠️ 自动化与现代打包(RPM 和 Wheels) * **[src/pyproject.toml](fancymonitor/src/pyproject.toml)**:现代 Python 打包定义和元数据规范。 * **[src/Makefile](fancymonitor/src/Makefile)**:强大的自动化套件,提供以下具体目标: * 将项目安装到独立的目录树中。 * 将项目构建为 Python Wheel。 * 执行 **PyTest** 单元测试,并将 Wheel 安全地打包为原生 **RPM 包**。 * 对生成的 RPM 包进行**数字签名**,以实现可信分发。 * **[RPM/SPECS/carcano_fancymonitor.spec](fancymonitor/RPM/SPECS/carcano_fancymonitor.spec)**:高级 RPM spec 文件,演示了如何将项目清晰地拆分为*可重用的库包*和*可执行应用程序包*。 ### 🔄 CI/CD 流水线(通过 Gitea 进行 GitOps) * **[.gitea/workflows/unit-tests.yml](fancymonitor/.gitea/workflows/unit-tests.yml)**:在 `push` 事件时触发的 Gitea Actions 工作流,用于强制执行自动化单元测试。 * **[.gitea/workflows/package-and-push.yml](fancymonitor/.gitea/workflows/package-and-push.yml)**:用于构建 RPM 包并将其安全发布到 **Pulp 3** 仓库的 CI/CD 自动化(*完整设置蓝图请参见第 34 章*)。 ## 🌿 特性分支方法论(无返工架构) 本书的一个核心教学理念是如何管理架构演进而不产生技术债务。 fancymonitor 的 git 仓库预填充了**多个特性分支**。通过在这些分支之间切换,您将清晰地看到一个整洁、解耦的代码库如何以**零(或最少)的代码返工**来扩展新功能。即使您不熟悉 git,书中也提供了相应的运行命令,方便您轻松对比,直观地查看新增的代码部分。 ## 📖 获取本书 准备好掌握自动化、CI/CD 和 Linux 安全加固了吗? 👉 **[https://link.springer.com/book/9798868820762]** ## 🗂️ 目录 以下是本书涵盖的主题,按章节分组。
部分 章节 标题 代码与资源位置
全局技能集 第 1 章团队协作 仅理论
第 2 章解决方案的生命周期
第 3 章Agile 与 Lean 概述
第 4 章Scrum 与 Kanban 概述
系统操作 第 5 章BASH shell 与命令行工具 内置于书中
基础数据格式 第 6 章Key-values、INI 和 CSV 内置于书中
数据处理 第 7 章正则表达式 (RegEx) 内置于书中
第 8 章使用 Grep
第 9 章使用 Sed
第 10 章使用 AWK
结构化数据处理 第 11 章使用 XPath、XMLStarlet 和 Python 处理 XML 📂 loaders/xml.py
第 12 章使用 Jq 和 Python 处理 JSON 📂 ch12/ & loaders/json.py
第 13 章使用 Yq 和 Python 处理 YAML 📂 ch13/ & loaders/yaml.py
开发 Python 项目 第 14 章单元测试 📂 fancymonitor/src/test/
第 15 章打包为 Wheel内置于书中
第 16 章使用 GNU Make 管理构建 📄 fancymonitor/src/Makefile
第 17 章打包为 RPM 📄 carcano_fancymonitor.spec
第 18 章配置 Git 和 pre-commit 框架 📄 .pre-commit-config.yaml
第 19 章审计源代码合规性📄 setup.cfg
📄 .safety-project.ini
第 20 章扫描漏洞
安全 第 21 章系统安全 内置于书中
第 22 章保护数据安全和验证身份 (GPG)
第 23 章X.509 证书与 PKI 📂 ch23/
常见协议 第 24 章HTTP 内置于书中
第 25 章TLS
第 26 章LDAP
使用容器 第 27 章容器生态系统 内置于书中
第 28 章Docker 和 Podman 📂 ch28/
第 29 章使用 Docker Compose 部署 Pulp3内置于书中
服务协议 第 30 章SOAP 和 REST 📂 ch30/
编排容器 第 31 章Kubernetes、Helm 和 Rancher 📂 ch31/
第 32 章使用 Helm Chart 部署 Gitea 📂 ch32/
第 33 章CI/CD 与持续交付内置于书中
第 34 章使用 Gitea Actions Workflows📂 Gitea Actions 模板
版本控制 第 35 章使用 Git 进行版本管理 内置于书中
远程配置管理 第 36 章SSH 概述 内置于书中
第 37 章Ansible playbooks、roles 和 collections 📂 ch37/
## 🤝 支与勘误 - **发现拼写错误或失效命令?** 请先查看 [📝 勘误](./ERRATA.md) 文件,看看是否已被报告。 - **想要报告新问题?** 如果您的问题未在勘误列表中,请阅读我们的 [👋 贡献指南](./CONTRIBUTING.md),然后直接在 [🐛 GitHub Issues](./issues) 部分提交新工单。
标签:DevSecOps, Python, 上游代理, 子域名突变, 安全专业人员, 开源框架, 持续集成, 教学示例, 无后门, 系统提示词, 网络安全研究, 请求拦截, 逆向工具, 错误基检测, 静态代码分析