这个项目能做什么

部署服务是一个专门的工具,用于管理自托管服务的 CI/CD 管道,特别针对 ansonallard.com 基础设施进行了优化。该服务使用 Go 构建,强调强大的生产级配置,包括通过 UFW 进行严格的防火墙管理,以及隔离的 Docker 环境,以防止构建和部署过程中的竞争条件。 主要功能包括: - **双 Docker 守护进程架构**:要求使用两个独立的 Docker 守护进程(一个用于构建,一个用于部署),以确保稳定性并避免冲突,并提供了详细的 systemd 配置说明。 - **Gitea 集成**:与 Gitea 通信,用于版本控制和工件管理,并提供了连接到 Gitea 实例的特定设置说明。 - **自动客户端生成**:支持从私有注册表中拉取自动生成的 TypeScript 和 Go 客户端,需要特定的 .npmrc 和 Go 环境变量配置,以通过个人访问令牌(PAT)进行身份验证。 - **版本管理**:包含一个脚本(`update_service_version.sh`),用于在提交过程中处理语义版本更新。 - **生产安全**:提供了关于配置 Linux 防火墙规则的明确指导,以允许必要的流量,同时保持安全性。 该服务非常适合运行自托管基础设施的用户,他们需要一个受控、隔离且自动化的部署管道,并与 Gitea 和私有包注册表集成。