agentic_huge_data_base / wiki
页面 Mayan EDMS · 6.3 发布管理·DeepWiki 中文全文译文

6.3 · 发布管理(Release Management)

企业电子文档治理 · 本章是 Mayan EDMS DeepWiki 中文译文的独立章节页,保留原始链接、源码锚点、模块标签和章节层级。

项目Mayan EDMS 章节6.3 状态全文译文 模块测试、发布与运维、安装与启动、工作流与编排、界面与交互
源码线索
  • HISTORY.rst
  • docker/rootfs/version
  • docs/parts/troubleshooting/versions.txt
  • docs/releases/3.4.1.txt
  • docs/releases/3.4.2.txt
  • docs/releases/3.4.3.txt
  • docs/releases/3.4.4.txt
  • docs/releases/3.4.5.txt
  • docs/releases/3.4.6.txt
  • docs/releases/3.4.txt
模块标签
  • 测试、发布与运维
  • 安装与启动
  • 工作流与编排
  • 界面与交互
  • 配置治理

中文译文

发布管理(中文译文)

原始 DeepWiki 页面:https://deepwiki.com/mayan-edms/Mayan-EDMS/6.3-release-management
翻译时间:2026-05-27T08:44:30.544Z
翻译模型:deepseek-chat
原文字符数:13453
项目:Mayan EDMS (mayan-edms)

---

发布管理

相关源文件

以下文件用于生成此维基页面:

  • HISTORY.rst
  • docker/rootfs/version
  • docs/parts/troubleshooting/versions.txt
  • docs/releases/3.4.1.txt
  • docs/releases/3.4.2.txt
  • docs/releases/3.4.3.txt
  • docs/releases/3.4.4.txt
  • docs/releases/3.4.5.txt
  • docs/releases/3.4.6.txt
  • docs/releases/3.4.txt
  • docs/releases/3.5.10.txt
  • docs/releases/3.5.7.txt
  • docs/releases/3.5.8.txt
  • docs/releases/3.5.9.txt
  • docs/releases/3.5.txt
  • docs/releases/4.0.txt
  • docs/releases/4.1.txt
  • docs/releases/4.2.10.txt
  • docs/releases/4.2.2.txt
  • docs/releases/4.2.3.txt
  • docs/releases/4.2.9.txt
  • docs/releases/4.2.txt
  • docs/releases/4.3.1.txt
  • docs/releases/4.3.txt
  • docs/releases/index.txt
  • mayan/__init__.py
  • mayan/apps/common/dependencies.py
  • mayan/apps/converter/dependencies.py
  • mayan/apps/django_gpg/backends/python_gnupg.py
  • mayan/apps/django_gpg/dependencies.py
  • mayan/apps/document_states/dependencies.py
  • mayan/apps/rest_api/dependencies.py
  • mayan/apps/task_manager/dependencies.py
  • requirements/base.txt
  • requirements/build.txt
  • requirements/common.txt
  • requirements/development.txt
  • requirements/documentation.txt
  • requirements/testing-base.txt
  • setup.py

本文档介绍了 Mayan EDMS 的发布管理系统,包括版本方案、发布流程、升级步骤以及发布制品的生成。该系统管理从开发到生产部署的完整生命周期,覆盖多个分发渠道。

有关构建和部署管线基础设施的信息,请参见构建与部署管线

版本系统

Mayan EDMS 使用语义化版本,采用三段式版本方案:主版本.次版本.补丁版本。当前版本信息集中管理在主包元数据中。

版本组件
graph TB
    subgraph "版本定义"
        VERSION["__version__ = '4.3.1'"]
        BUILD["__build__ = 0x040301"]
        BUILD_STRING["__build_string__ = 'v4.3.1_Sun Aug 21...'"]
        DJANGO_VERSION["__django_version__ = '3.2'"]
    end

    subgraph "版本使用"
        SETUP[setup.py]
        DOCKER[docker/rootfs/version]
        HISTORY[HISTORY.rst]
        DOCS[docs/releases/]
    end

    VERSION --> SETUP
    VERSION --> DOCKER
    BUILD_STRING --> HISTORY
    VERSION --> DOCS

版本系统包含以下内容:

  • 语义化版本:标准的三段式版本号
  • 构建编号:用于程序化使用的十六进制表示
  • 构建字符串:人类可读的构建时间戳和版本
  • Django 版本:兼容的 Django 主版本.次版本

来源: mayan/__init__.py:1-13, setup.py:158, docker/rootfs/version:1

发布系列分类
graph LR
    subgraph "发布类型"
        MAJOR["主版本发布<br/>4.0, 5.0"]
        MINOR["次版本发布<br/>4.1, 4.2, 4.3"]
        PATCH["补丁版本发布<br/>4.3.1, 4.3.2"]
    end

    subgraph "状态分类"
        STABLE["稳定版"]
        MAINTENANCE["维护版"]
        DEPRECATED["废弃版"]
    end

    MAJOR --> STABLE
    MINOR --> STABLE
    PATCH --> MAINTENANCE

来源: docs/releases/index.txt:18-70, docs/releases/4.3.1.txt:6, docs/releases/4.2.9.txt:6

发布制品与分发

发布管理系统为不同的部署场景生成多种制品类型。

制品生成管线
graph TD
    subgraph "源码管理"
        GIT[Git 仓库]
        SETUP_PY[setup.py]
        REQUIREMENTS[requirements/]
    end

    subgraph "构建制品"
        PYTHON_PKG[Python 包<br/>mayan-edms]
        DOCKER_IMG[Docker 镜像<br/>mayanedms/mayanedms]
        DOCS_SITE[文档站点]
    end

    subgraph "分发渠道"
        PYPI[PyPI 仓库]
        DOCKERHUB[Docker Hub]
        GITLAB[GitLab 仓库]
    end

    GIT --> PYTHON_PKG
    SETUP_PY --> PYTHON_PKG
    REQUIREMENTS --> PYTHON_PKG

    PYTHON_PKG --> PYPI
    DOCKER_IMG --> DOCKERHUB
    DOCS_SITE --> GITLAB
包配置

Python 包配置定义了完整的分发结构:

组件配置位置
包名mayan-edmssetup.py:13
入口点mayan/bin/mayan-edms.pysetup.py:156
依赖项install_requires 列表setup.py:62-111
分类器PyPI 元数据setup.py:122-139

来源: setup.py:119-160, requirements/base.txt:1-48

依赖管理
graph TB
    subgraph "依赖文件"
        BASE[requirements/base.txt<br/>核心依赖]
        COMMON[requirements/common.txt<br/>Django 版本]
        DEV[requirements/development.txt<br/>开发工具]
        BUILD[requirements/build.txt<br/>构建工具]
        DOCS[requirements/documentation.txt<br/>Sphinx 与工具]
        TEST[requirements/testing-base.txt<br/>测试框架]
    end

    subgraph "依赖分类"
        CORE[核心应用<br/>Django, Celery 等]
        PROC[文档处理<br/>Pillow, PyPDF2 等]
        SEARCH[搜索引擎<br/>Whoosh, ElasticSearch]
        AUTH[认证<br/>LDAP, OTP]
    end

    BASE --> CORE
    BASE --> PROC
    BASE --> SEARCH
    BASE --> AUTH

来源: requirements/base.txt:1-48, requirements/common.txt:1-2, requirements/development.txt:1-11

发布文档系统

发布文档采用结构化方法,包含全面的发布说明和升级指南。

文档结构
graph TD
    subgraph "发布文档"
        INDEX[docs/releases/index.txt<br/>发布索引]
        SERIES[发布系列<br/>4.0, 3.0, 2.0, 1.0]
        VERSIONS[版本页面<br/>4.3.1.txt, 4.3.txt 等]
        UPGRADE[升级步骤<br/>partials/upgrade-*]
    end

    subgraph "版本文档组件"
        CHANGES[变更部分<br/>应用特定更新]
        REMOVALS[移除部分<br/>废弃功能]
        UPGRADE_PROC[升级流程<br/>分步说明]
        TROUBLESHOOT[故障排除<br/>已知问题]
        BACKWARD_COMPAT[向后兼容<br/>不兼容变更]
    end

    INDEX --> SERIES
    SERIES --> VERSIONS
    VERSIONS --> CHANGES
    VERSIONS --> REMOVALS
    VERSIONS --> UPGRADE_PROC
    VERSIONS --> TROUBLESHOOT
    VERSIONS --> BACKWARD_COMPAT
发布说明分类

每个版本都包含按应用领域系统组织的变更:

分类目的示例应用
核心变更框架修改Common, Dependencies
功能更新新功能Documents, Workflows
UI 改进界面增强Appearance, Navigation
性能优化优化更新Search, File Caching
安全更新认证/授权ACLs, Permissions

来源: docs/releases/4.3.txt:8-601, docs/releases/4.2.txt:8-423, docs/releases/index.txt:1-294

升级管理

升级系统提供了结构化的步骤,用于在版本间进行切换,同时保持数据完整性和系统功能。

升级流程
graph TD
    subgraph "升级前"
        BACKUP[数据库备份]
        STOP[停止服务<br/>supervisord/systemctl]
        CHECK[版本兼容性检查]
    end

    subgraph "包更新"
        REMOVE_DEPRECATED[移除废弃<br/>依赖项]
        UPDATE_PKG[更新 mayan-edms<br/>包]
        UPDATE_DEPS[更新依赖项]
    end

    subgraph "系统迁移"
        CONFIG_UPDATE[更新配置<br/>supervisord.conf]
        DB_MIGRATE[数据库迁移<br/>performupgrade]
        STATIC_FILES[更新静态文件]
    end

    subgraph "升级后"
        START[启动服务]
        VERIFY[验证功能]
        CLEANUP[清理旧文件]
    end

    BACKUP --> STOP
    STOP --> CHECK
    CHECK --> REMOVE_DEPRECATED
    REMOVE_DEPRECATED --> UPDATE_PKG
    UPDATE_PKG --> UPDATE_DEPS
    UPDATE_DEPS --> CONFIG_UPDATE
    CONFIG_UPDATE --> DB_MIGRATE
    DB_MIGRATE --> STATIC_FILES
    STATIC_FILES --> START
    START --> VERIFY
    VERIFY --> CLEANUP
特定版本的升级注意事项

不同版本间的切换需要特定的升级步骤:

切换类型特殊要求示例
主版本数据库模式变更,设置迁移3.x → 4.0
次版本功能新增,依赖更新4.2 → 4.3
补丁版本错误修复,安全更新4.3.0 → 4.3.1

来源: docs/releases/partials/upgrade-3.5-4.0.txt, docs/releases/4.2.txt:381-398, docs/parts/troubleshooting/versions.txt:1-24

依赖管理

依赖管理系统维护整个技术栈的兼容性,同时为不同的部署场景提供灵活性。

依赖声明系统
graph LR
    subgraph "依赖来源"
        SETUP_DEPS[setup.py<br/>install_requires]
        REQ_FILES[requirements/*.txt<br/>版本锁定]
        APP_DEPS[apps/*/dependencies.py<br/>应用特定]
    end

    subgraph "依赖类型"
        PYTHON[Python 依赖<br/>PythonDependency]
        BINARY[二进制依赖<br/>BinaryDependency]
        ENV[环境依赖<br/>开发/生产]
    end

    SETUP_DEPS --> PYTHON
    REQ_FILES --> PYTHON
    APP_DEPS --> PYTHON
    APP_DEPS --> BINARY
    REQ_FILES --> ENV
应用级依赖

各个应用通过元数据声明其特定依赖:

graph TB
    subgraph "通用应用依赖"
        DJANGO[django==3.2.14]
        YAML[PyYAML==6.0]
        MODEL_UTILS[django-model-utils==4.2.0]
        MPTT[django-mptt==0.13.4]
    end

    subgraph "转换器应用依赖"
        PILLOW[Pillow==9.2.0]
        PYPDF2[PyPDF2==1.28.4]
        QRCODE[qrcode==7.3.1]
    end

    subgraph "任务管理器依赖"
        CELERY[celery==5.2.3]
        CELERY_BEAT[django-celery-beat==2.2.1]
    end

    subgraph "REST API 依赖"
        DRF[djangorestframework==3.13.1]
        CORS[django-cors-headers==3.10.0]
        YASG[drf-yasg==1.20.0]
    end

每个依赖项都包含版权信息、版本约束和环境说明,以确保许可证合规和部署管理。

来源: mayan/apps/common/dependencies.py:9-245, mayan/apps/converter/dependencies.py:8-33, mayan/apps/task_manager/dependencies.py:3-111, mayan/apps/rest_api/dependencies.py:3-71

发布历史与生命周期

该项目维护了详尽的发布历史,并对不同版本系列进行了清晰的生命周期管理。

发布时间线与支持
gantt
    title 发布时间线与支持生命周期
    dateFormat YYYY-MM-DD
    axisFormat %Y-%m

    section 4.x 系列
    4.0 发布     :milestone, 2021-05-19, 0d
    4.1 发布     :milestone, 2021-10-10, 0d
    4.2 发布     :milestone, 2022-02-12, 0d
    4.3 发布     :milestone, 2022-07-27, 0d
    4.3.1 发布   :milestone, 2022-08-21, 0d

    section 3.x 系列
    3.5 发布     :milestone, 2020-09-30, 0d
    3.5.11 结束  :milestone, 2021-08-15, 0d
当前发布状态
版本状态发布日期支持状态
4.3.1稳定版2022年8月21日活跃
4.2.10维护版2022年8月20日安全修复
3.5.x废弃版-生命周期终止

发布管理系统确保主版本系列内的向后兼容性,同时为主版本之间的不兼容变更提供清晰的升级路径。

来源: HISTORY.rst:1-2032, docs/releases/4.3.1.txt:4, docs/releases/4.2.10.txt:4, docs/releases/index.txt:14-294