sjamal/hybrid-governance-automation
GitHub: sjamal/hybrid-governance-automation
跨 ServiceNow、Azure DevOps 和 Jenkins 的混合治理自动化框架,通过软件定义的合规门控机制实现变更验证、安全扫描和多云拓扑审计。
Stars: 0 | Forks: 0
# 混合治理自动化
本仓库提供了用于自动化变更门控、工单集成、实时告警交付、安全代码分析 (SAST) 和项目跟踪同步的架构组件。该系统在持续集成引擎(**Jenkins**、**Azure DevOps**)与企业 IT 服务管理 (ITSM)/敏捷系统(**ServiceNow**、**Azure DevOps Boards**)之间建立了非交互式的合规检查点。
## 架构亮点
- **多引擎流水线:** 使用 Azure DevOps 进行云规模登陆区和 SLES/SAP 部署,同时利用 Jenkins 进行本地第一层 (Tier 1) 应用节点部署和视线内网络编排。
- **自动化护栏:** 将 Python 脚本直接集成到 CI/CD 流水线中,用于解析 ServiceNow 变更请求的 API 状态,防止对 **PRD/UAT** 环境进行未经批准的修改。
## 解决的运维问题
在解耦的暂存边界之间,手动合规监控难以有效扩展。本软件包实现了软件定义的门控机制,以防止配置漂移,强制执行维护窗口验证,并消除跨独立生命周期层的手动跟踪更新。
## 工作区结构
- **.azure-pipelines/:** 处理变更控制、安全 lint 和验证任务的配置文件。
- **scripts/:** 托管自动化包装器、日志合并器和语法检查工具的目标目录。
- **docs/adr/:** 托管整合后的架构决策记录 (ADR) 的中心目录。
- **.pre-commit-config.yaml:** 配置本地 pre-commit 验证框架。
## 布局配置
- **.azure-pipelines/platform-provision-gate.yml:** 处理变更控制、安全 lint 阶段和自动化参数的原始配置文件。
- **.jenkins/Jenkinsfile.deploy:** 针对本地视线内应用节点的声明式流水线编排器。
- **docs/adr/:** 托管整合后的架构决策记录 (ADR) 的目录。
## 系统架构布局
配置引擎将项目看板、流水线验证器、消息钩子和资产矩阵链接到一个统一的工作区层中:
[ 本地代码更新 ] ──► [ 流水线 linter ] ──► [ Ansible-Lint / Puppet-Lint ]
│
▼ (成功条件)
[ Runbook 分析 ] ──► [ 合规引擎 ] ──► [ Markdown 审计报告 ]
│
▼ (失败拦截)
[ 运维团队 ] ◄── [ 通知中心 ] ◄── [ 实时聊天 Webhook ]
## 技术框架与自动化模块
- **执行前变更验证 (`scripts/servicenow_change_gate.py`):** Python 自动化脚本查询内部工单系统,以便在配置计算架构之前验证预定的部署窗口。
- **双向状态同步 (`scripts/azdo_board_sync.py`):** 自动补丁机制在部署时将执行历史直接推送到父级项目跟踪层中。
- **多引擎目标配置文件:** 为 Azure DevOps 云架构和 Jenkins 本地拓扑配置的原始执行流水线。
- **动态拓扑审计:** 分析引擎跟踪区域指标、云可用区(`canadaeast`、`canadacentral`)以及本地虚拟化上下文(`ESXi-Cluster-01`)。
- **自动化通知路径:** 包含专用的 payload 交付模型,可拦截验证故障并将警告直接路由到消息 Webhook。
- **感知优先级的通知引擎 (`scripts/send_pipeline_alert.py`):** 评估资产威胁等级(Tier0、Tier1、Tier2),将关键事件路由到紧急工程 endpoint,同时将非关键的暂存通知定向到常规运维跟踪日志中。
- **架构策略控制:** 结构化治理决策通过位于仓库目录内的架构决策记录 (ADR) 矩阵进行保留。
- **持续合规引擎 (`scripts/generate_compliance_report.py`):** 根据企业安全指标评估多云和本地基础设施资产清单。捕获包括区域标签、可用区和安全边界在内的布局数据,以生成 Markdown 报告摘要。
- **静态安全测试 (SAST):** 流水线集成运行安全分析 (`bandit`),检查是否存在硬编码密钥、注入向量或弱加密。
## 企业生态系统
本仓库是集成企业自动化框架的一部分。相关项目负责处理互补的基础设施任务:
### 🔐 伴随仓库
- **[ansible](https://github.com/sjamal/ansible)** — 用于基础设施配置和配置管理的 Ansible Playbook(磁盘报告、SLES 包管理)
- **[enterprise-hybrid-pipelines](https://github.com/sjamal/enterprise-hybrid-pipelines)** — Azure DevOps 流水线定义和预置后自动化脚本
- **[enterprise-network-mesh](https://github.com/sjamal/enterprise-network-mesh)** — 多阶段网络架构验证和边界审计
- **[enterprise-cert-cryptographer](https://github.com/sjamal/enterprise-cert-cryptographer)** — TLS 证书管理、转换和安全分发
- **[puppet-enterprise-profiles](https://github.com/sjamal/puppet-enterprise-profiles)** — 用于企业基础设施的 Puppet 配置模块
- **[puppet-sles-hardening](https://github.com/sjamal/puppet-sles-hardening)** — 通过 Puppet 实现 SLES 的 CIS 加固配置文件
### 🛠 支持工具
- **[python-sysadmin-tools](https://github.com/sjamal/python-sysadmin-tools)** — 用于磁盘审计、VM 大小调整和基础设施分析的 Python 实用工具
- **[bash](https://github.com/sjamal/bash)** — 用于证书生成、文件操作和数据处理流水线的 Shell 脚本
## 系统前置条件
- Python 3.10+
- 对企业项目平台 REST endpoint 的执行访问权限
## 标准代码贡献规则
为了保持代码质量,所有贡献必须与全球团队政策保持一致:
1. 将工作隔离在从 `develop` 分支切出的专用 `feature/` 分支中。
2. 在提交更改之前,确保本地语法检查工具完全通过。
3. 在提交 Pull Request 时,清楚地对照架构定义概述更改。
标签:Azure DevOps, CLI应用, Jenkins, ServiceNow, 人体姿态估计, 变更管理, 合规治理, 系统提示词, 自动化门禁, 逆向工具