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