gocore-v2框架发布-集成脚手架能力

2024-05-31 07:08

本文主要是介绍gocore-v2框架发布-集成脚手架能力,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

Github
官方文档地址-持续更新中

介绍

gocore是一款高度集成的开发框架和脚手架,支持api、rpc、job、task等开发方式,并且集成各类主流开源库和中间件融入最佳实践,最终实现简化流程、提高效率、统一规范。

特性

  • 底层基于主流框架gin、gorm、viper、zap等进行封装整合
  • 提供脚手架gocore工具快速初始化项目结构、接口参数路由、数据库模型(包含逆向生成status)
  • 支持多环境多套配置文件并且和nacos配置中心打通,支持热更新等特性
  • 提供签名、加密、文件、邮件、随机数、链路追踪、时间、日志等基础工具
  • 无侵入式理念让开发精力集中在业务层
  • 通过Docker、K8S、istio等体系下建立的研发流程环境管理策略
  • 封装常规阿里云中间件SLS、RocketMQ、nacos
  • 开箱即用

安装

  • 环境要求
    • Golang > 1.16
    • Go module

获取项目包


> go get -u github.com/sunmi-OS/gocore/v2
  • 脚手架安装

> go install github.com/sunmi-OS/gocore/v2/tools/gocore@latest> gocore --version__ _    ___     ___    ___    _ __    ___/ _` |  / _ \   / __|  / _ \  | '__|  / _ \| (_| | | (_) | | (__  | (_) | | |    |  __/\__, |  \___/   \___|  \___/  |_|     \___||___/gocore version v1.0.0

快速开始

创建一个示例项目

# 创建工程文件夹
> mkdir test
> cd test# 创建yaml配置文件模板gocore.yaml
> gocore conf create 
...
Welcome to GoCore, Configuration file has been generated.# 修改gocore.yaml模板之后,根据yaml文件创建工程项目
> gocore service create __ _    ___     ___    ___    _ __    ___/ _` |  / _ \   / __|  / _ \  | '__|  / _ \| (_| | | (_) | | (__  | (_) | | |    |  __/\__, |  \___/   \___|  \___/  |_|     \___||___/Run go mod init.
[11/11] Initialize the Request return parameters... 100% [========================================]   
Run go mod tidy .
Run go fmt .
goimports -l -w .
Welcome to GoCore, the project has been initialized.# 下次迭代增加新的接口或数据表更新代码
> gocore service create 

工程创建时导入已有数据库

# 创建工程文件夹
> mkdir test 
> cd test# 创建yaml配置文件模板gocore.yaml
> gocore conf create # 创建连接数据库的配置文件模板mysql.yaml
> gocore mysql create_yaml # 修改mysql.yaml之后,连接数据库将字段合并到gocore.yaml
> gocore mysql add # 修改gocore.yaml模板之后,根据yaml文件创建工程项目
> gocore service create 

配置文件

service:projectName: demo #项目名称version: v1.0.0 #项目版本号
config:cNacos:env: false #是否使用环境变量rocketMQConfig: true #是否使用rocketMQcMysql: #mysql配置- name: app #数据库名称hotUpdate: false #是否热更新models: #model文件- name: user #表名称auto: false #是否自动建表fields: #表字段,gorm规则,一行一个自动- column:id;primary_key;type:int AUTO_INCREMENT- column:name;type:varchar(100) NOT NULL;default:'';comment:'用户名';unique_indexcomment: 用户表 #表备注cRedis: #redis配置- name: default #redis名称hotUpdate: false #是否热更新index:db0: 0 #选择第几个db
nacosEnable: true #是否使用nacos
httpApiEnable: true #是否生成接口程序
cronJobEnable: true #是否生成定时任务
jobEnable: true #是否生成常驻任务
httpApis:host: 0.0.0.0 #api接口监听ip地址port: "80" #api接口监听ip端口apis:- prefix: /app/user #api接口前缀moduleName: user #模块名称handle: #api接口- name: GetUserInfo #api接口方法名称,完整路由是/app/user/GetUserInfomethod: AnyrequestParams: #api接口请求参数- name: uid #字段名称required: true #是否必填type: int #字段类型comment: 用户ID #字段备注validate: required,min=1,max=100000 #validate校验规则responseParams: #api响应参数- name: detail  #字段名称required: true #是否必填type: '*User'  #字段类型,非基础字段类型,表示嵌套结构体,引用params中的结构体comment: 用户详情 #字段备注validate: ""- name: listrequired: truetype: '[]*User'comment: 用户列表validate: ""comment: 获取用户信息params:User:- name: uidrequired: truetype: intcomment: 用户IDvalidate: ""- name: namerequired: truetype: stringcomment: 用户名validate: ""
cronJobs:- spec: '@every 30m' #定时任务规则,参考:github.com/robfig/cronjob:name: SyncUser #定时任务方法名称comment: 同步用户 #定时任务备注
jobs:- name: InitUser #一次性任务,常驻任务方法名称comment: 初始化默认用户 #一次性任务,常驻任务备注

联系我们

欢迎加入gocoreQQ群:1004023331 一起沟通讨论

这篇关于gocore-v2框架发布-集成脚手架能力的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017545

相关文章

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事