项目简介
Go-To-Cloud(简称GTC
)是面向小型团队的快速部署工具,能让用户轻松把代码构建并发布到Kubernetes(K8S)环境。无需深入了解K8S或容器镜像知识,用户即可快速上手。它简化了CI/CD流程,不依赖Jenkins、ArgoCD等复杂平台,利用MySQL、镜像仓库和指定的K8S构建节点就能搭建完整的CI/CD服务平台。
项目的主要特性和功能
项目管理
- 创建项目:可配置代码分支、构建及部署环境。
- 构建项目:将项目打包成镜像推送到镜像仓库并打tag。
- 部署项目:配置运行环境、端口、健康检查等参数,实现项目镜像在目标K8S环境的发布或回滚。
- 监控项目:查看K8S中运行的项目实例,支持伸缩、重启实例,查看容器日志,进入容器内部执行Shell命令。
配置管理
- 构建节点:指定用于构建和打包镜像的K8S环境。
- 制品仓库:管理构建的镜像,支持查看历史构建记录和复制镜像地址。
- 部署环境:配置项目最终运行的K8S环境。
应用监控
支持对应用进行伸缩、重启及管理操作。
账号管理
- 创建用户:管理系统使用者。
- 创建组织:项目由组织维护,同一组织内用户可查看和管理所属项目。
- 权限管理:基于RBAC模型的权限管理,保障项目安全。
安装使用步骤
1. 准备工作
- 数据库:创建MySQL数据库。
sql create database gotocloud character set utf8mb4;
- 镜像仓库:若无现成镜像仓库,可使用Docker在本地搭建。
shell docker run -d -p 5000:5000 --restart always --name registry registry:2
并在Docker配置中添加允许非加密地址:yaml "insecure-registries": [ "127.0.0.1:5000", .... 其他地址 ]
2. 修改配置文件
修改conf/appsettings.yaml
文件中的数据库配置和JWT配置:
yaml
db:
user: # 数据库用户名
password: # 数据库密码
host: # 数据库地址
schema: gotocloud # 数据库名
jwt:
security: thisisunsafeuntilyouchangit # 建议修改
realm: GOTOCLOUD
idkey: id
builder:
kaniko: go-to-cloud-docker.pkg.coding.net/devops/kaniko/executor:v1.9.1-debug
3. 运行项目
切换到项目根目录(main.go
所在目录),执行以下命令:
bash
go mod tidy
go run .
4. 前端部署
开发环境
- Go版本:1.19+
- MySQL版本:8.0+
- K8S环境:用于构建和部署项目。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】