{"id":21018690,"url":"https://github.com/tal-tech/rigger","last_synced_at":"2025-10-06T00:03:29.950Z","repository":{"id":57543399,"uuid":"290932285","full_name":"tal-tech/rigger","owner":"tal-tech","description":"Very convenient scaffold components, support Gaea, Odin framework code generation, support process management, support code management","archived":false,"fork":false,"pushed_at":"2020-10-29T13:50:00.000Z","size":14078,"stargazers_count":33,"open_issues_count":1,"forks_count":12,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-03T05:12:10.986Z","etag":null,"topics":["code-generation","convenient-scaffold-components","managed-services","odin-framework","rigger","support-gaea"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tal-tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-28T02:33:50.000Z","updated_at":"2023-03-07T00:19:38.000Z","dependencies_parsed_at":"2022-09-26T18:31:26.057Z","dependency_job_id":null,"html_url":"https://github.com/tal-tech/rigger","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tal-tech%2Frigger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tal-tech%2Frigger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tal-tech%2Frigger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tal-tech%2Frigger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tal-tech","download_url":"https://codeload.github.com/tal-tech/rigger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254288224,"owners_count":22045862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-generation","convenient-scaffold-components","managed-services","odin-framework","rigger","support-gaea"],"created_at":"2024-11-19T10:27:07.386Z","updated_at":"2025-10-06T00:03:24.906Z","avatar_url":"https://github.com/tal-tech.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rigger\nVery convenient scaffold components, support Gaea, Odin framework code generation, support process management, support code management\n\n### 安装\n\n```shell\ngo get github.com/tal-tech/rigger\n```\n\n### 命令介绍\n\n#### build\n* 用途：\n\n    编译当前项目\n\n* 命令：\n    ```shell\n    rigger build\n    ```\n* 说明：\n\n    命令为在当前路径下执行make，需在项目根路径下执行，且要求Makefile一定存在\n\n\n#### clean\n* 用途：\n\n    清理当前项目编译产生文件\n\n* 命令：\n    ```shell\n    rigger clean\n    ```\n* 说明：\n\n    命令为在当前路径下执行make clean，Makefile应设置clean target\n\n#### example\n* 用途：\n\n    执行项目路径下examples的实例代码\n\n* 命令：\n    ```shell\n    rigger example [tags]\n    ```\n* 说明：\n\n    命令为在当前路径下执行go run examles/main.go，需要存在main.go文件，且执行时自动使用项目下conf部分项目，如xesMicro，编译时需要加入tags，此时指定第三个参数\n\n#### genc\n* 用途：\n\n    生成rpc服务sdk代码\n\n* 命令：\n    ```shell\n    rigger genc [go|php] yourservice [flags]\n    ```\n* 说明：\n    \n    * 命令通过Micro服务项目下指定路径app/rpc内的Service定义，生成对应调用sdk\n\n    * 可生成go和php两种语言sdk，yourservice为rpc服务的项目名\n\n    * 生成sdk路径为当前路径下rpc文件夹内，部分代码如下图：\n\n         \nflag说明\n\n    * -b, --basepath string service BasePath (default \"xes_xueyan_hudong\")\n\n    * -i, --importpath string service proto import path (default \"git.100tal.com/wangxiao_xueyan_hudong/common\")\n\n    * -p, --projectpath string your project path\n    ```\n    BasePath为在注册中心中注册服务的前缀，可区分服务组，-b 参数修改默认值\n\n    Importpath是sdk内引用服务公共代码，参数结构体proto路径，如图，为importpath/[servicename]/proto，-i 参数修改默认值\n\n    projectpath为指定Micro服务端项目路径，默认值为$GOPATH/[servicename]，如不在此路径下，需通过-p 参数指定\n    ```\n\n#### gens\n* 用途：\n\n    生成rpc服务层代码\n\n* 命令：\n    ```shell\n    rigger gens yourservice [flags]\n    ```\n* 说明：\n\n    * rpc项目目录下执行，根据app/serviceInterfece/interface.go定义对外方法，一键生成项目代码，只填入逻辑代码即可\n    \n\n#### help\n* 用途：\n    \n    同 -h\n\n* 命令：\n\n    ```shell\n    rigger help\n    ```\n\n#### new\n* 用途：\n    \n    根据工程模板创建项目\n\n* 命令：\n    ```shell\n    rigger new [rpc|api|async|proxy|custom] servicename [flags]\n    ```\n* 说明：\n    * 命令可通过clone模板生成新的项目\n    \n    * servicename为新生成项目名，生成路径为$GOPATH/servicename\n\n    * 目前模板可支持rpc服务odin(rpc)、api服务gaea(api)、异步消费服务asyncworker(async)、MQProxy服务(proxy)\n\n    * 新生成项目内都附有简单demo，可通过rigger start、rigger example测试\n\n    * custom生成自定义模板项目，-g gitlib地址，-d 默认项目待替换名称 -t 默认项目待替换为大写名称\n\n#### start\n* 用途：\n    \n    启动项目\n\n* 命令：\n    ```shell\n    rigger start\n    ```\n* 说明：\n\n    * 命令需在项目根路径下执行，启动服务为后台启动\n\n    * 启动后会在当前路径下创建run/servername.pid文件，stop、status命令均通过pid进行操作\n    \n    * -f foreground 指定在前台运行\n\n\n\n#### status\n* 用途：\n\n    当前服务的运行状态\n\n* 命令：\n    ```shell\n    rigger status\n    ```\n* 说明：\n\n    命令执行路径下需存在run/servername.pid文件\n\n#### stop\n* 用途：\n        \n    停止项目\n\n* 命令：\n    ```shell\n    rigger stop\n    ```\n* 说明：\n\n    命令执行路径下需存在run/servername.pid文件\n\n\n#### restart\n* 用途：\n\n    重启项目\n\n* 命令：\n    ```shell\n    rigger restart [flags]\n    ```\n\n* 说明：\n\n    命令执行路径下需存在run/servername.pid文件\n\n    -r flag执行顺序为stop、build、start，方便调试\n\n\n\n#### tag\n* 用途：\n\n    用git tag对项目进行标签操作\n\n* 命令：\n    ```shell\n    rigger tag [subcommand] [flags]\n    ```\n* 说明：\n    \n    tag命令，需指定子命令\n\n    * init 初始化一个tag\n\n    * now 展示当前tag\n\n    * push 推送到远端\n\n    * up 升级tag,使用up x或up y或up z\n\n    `up子命令，项目推荐使用go标准tag格式，为vX.Y.Z，如v1.1.1，up命令后跟x、y、z，升级指定位置`\n\n\n#### fswatch\n* 用途：\n    \n    开发过程，watch文件变化，自动重新编译、重启\n\n* 命令：\n    ```\n    rigger fswatch\n    ```\n\n* 说明：\n\n    需先安装fswatch，go get github.com/codeskyblue/fswatch\n\n    目前支持gaea和odin框架，请确认版本，可用版本为目录下有.fsw.yml，或从最新版内copy\n    \n    停止命令使用rigger stop\n\n#### frame\n* 用途：\n\n    gaea\u0026odin 启动项插件化管理，命令添加可选插件\n\n* 命令：\n    ```\n    rigger frame [Plugin|Middleware] (pprof/perf/expvar/maxfd|perf/trace)\n    ```\n\n* 说明：\n     \n    支持gaea\u0026odin的启动插件，以及gaea框架中的http中间件\n\n    插件包括pprof性能分析插件、perf耗时打点插件、expvr内存分析插件、maxfd最大文件打开数管理\n\n\n#### reverse\n* 用途：\n\n    一键生成MySQL表对象实体文件\n\n* 命令：\n    ```\n    rigger reverse [-s] [-t tmplPath] driverName datasourceName [generatedPath] [tableFilterReg]\n    ```\n\n* 说明：\n   \n    -s 指定是否生成单一文件\n\n    -t 指定生成模板，不指定使用默认模板\n\n    generatedPath 生成文件目录\n\n    tableFilterReg 表名匹配过滤\n\n#### tree\n* 用途：\n\n   查看golang生态组件 \n\n* 命令：\n    ```\n    rigger tree\n    rigger trem [name]\n    ```\n\n* 说明：\n   \n   rigger tree命令查看所有golang组件\n\n   rigger tree 组件名，可查看组件详情并下载组件\n   \n   \n### 联系我们\n\u003cp align=\"left\"\u003e\n \u003ca href=\"https://www.yuque.com/tal-tech/rigger\" target=\"_blank\"\u003e\n     \u003cimg src=\"https://cdn.nlark.com/yuque/0/2020/png/2138318/1600340932767-f20251e4-688a-4077-9721-9296f5319e56.png\"  alt=\"Contact Us\" align=center /\u003e\n \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"left\"\u003e\n（微信扫一扫，申请加入开发讨论微信群）\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftal-tech%2Frigger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftal-tech%2Frigger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftal-tech%2Frigger/lists"}