41 Star 317 Fork 89

朱亮 / teamide

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

Team · IDE

Team IDE 集成MySql、Oracle、金仓、达梦、神通等数据库、SSH、FTP、Redis、Zookeeper、Kafka、Elasticsearch、Mongodb、小工具等管理工具

Code License GitHub Release Latest

Team · IDE 功能模块

  • 终端
    • 配置SSH连接,连接远程服务器 完成
    • SSH支持rz、sz命令,rz支持批量上传 完成
    • 支持本地终端 完成
    • 支持节点终端 完成
  • Zookeeper
    • 支持单机、集群,增删改查等操作,批量删除等 完成
  • Kafka
    • 对Kafka主题增删改查等操作 完成
    • 选择主题,推送、消费、删除数据等 完成
  • Redis
    • Redis Key搜索、模糊查询、删除、新增等 完成
    • 字符串、哈希、列表、集合值编辑 完成
  • Elasticsearch
    • 索引增删改查等操作 完成
    • 选择索引,增删改查数据等 完成
    • 添加索引,设置字段,索引迁移等 完成
  • Database
    • 数据库库|用户|模式列表、表数据加载 完成
    • 数据库库表数据增删改查、批量新增、修改、删除等操作 完成
    • 表格选择数据导出SQL(新增、修改、删除数据SQL)等操作 完成
    • 自定义SQL执行面板,结果查看器 完成
    • 新建库,在线设计表,查看建表、更新表SQL语句 完成
    • 支持数据库,MySql、Oracle、达梦、金仓、神通、Sqlite、ODBC等数据库 完成
  • 节点
    • 可以配置多服务器之间网络透传,内外网相互透传等 完成
  • 小工具
    • JSON、Yaml转换 完成
    • 时间长转换 完成
    • Base64、MD5等 完成
    • 二维码生成 完成
  • Thrift
    • 添加thrift模块,配置thrift文件目录 完成
    • 展示所有thrift服务、方法等 完成
    • 双击方法运行测试 完成
    • 性能测试,测试报告,图表展示TPS、AVG、Min、Max、T90、T99等 完成
  • SSH隧道
    • Mysql、Redis、Zookeeper支持SSH隧道连接,选择SSH后,填写127.0.0.1则连接到SSH本地相应资源 完成
  • Mongodb
    • 库管理 完成
    • 集合管理 完成
    • 集合索引编辑 完成
    • 集合数据查询、新增、修改、删除 完成

语言

服务端:go开发

前端:vue开发

客户端:electron

注意

  • Team IDE 支持单机运行以及服务器运行

  • 单机运行

    • 下载 客户端安装包安装运行即可,目前不支持arm架构的安装包
    • 无需配置文件,数据和日志存储在用户目录/temeide
  • 服务器运行

    • 下载 teamide-server-amd64-xxx.zipteamide-server-arm64-xxx.zip 或 docker 运行
    • 适合团队使用,部署到服务器通过浏览器访问
    • 需要配置文件,数据和日志存储在程序同级目录
    • 服务端运行方式会生成 admin 用户到 程序目录/data/init-user-info.json
  • 终端连接debian遇到不识别登录SSH的用户、目录,不记录历史命令情况,可以修改下 PS1 环境变量

    • 将环境变量设置到 ~/.bashrc 文件
    • export PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$"

Docker 运行


# 最新版本 至 https://hub.docker.com/repository/docker/teamide/teamide-server/tags?page=1&ordering=last_updated 查看

# amd64 环境
docker run -itd --name teamide-21080 -p 21080:21080 -v /data/teamide/data:/opt/teamide/data teamide/teamide-server:latest

# arm64 环境
docker run -itd --name teamide-21080 -p 21080:21080 -v /data/teamide/data:/opt/teamide/data teamide/teamide-server-arm64:latest

# 可以修改容器中 `conf/config.yaml` 配置 https 访问,这样浏览器可以使用复制粘贴功能

服务端 运行


# 最新版本 至 https://github.com/team-ide/teamide/releases 查看
mkdir /opt
cd /opt

wget https://github.com/team-ide/teamide/releases/download/v2.1.0/teamide-server-2.1.0.zip

# 解压
unzip teamide-server-2.1.0.zip

cd teamide-server

# 修改端口
vi conf/config.yaml

# 授权可执行
chmod +x server.sh

# 启动
./server.sh

源码调试运行

conf/           # 配置文件
internal/       # 服务源码
pkg/            # 工具等

前端调试运行

# 前端打包

git clone https://github.com/team-ide/teamide-html
# 进入html目录
cd teamide-html

# 安装依赖
npm install

# 运行
npm run serve

服务端调试运行

# 安装依赖
go mod tidy

# 运行
# --isDev dev模式,自动打开到 前端调试页面,日志输出控制台

# 单机版调试运行,需要谷歌浏览器
go run . --isDev

打包

前端打包

# 前端打包

git clone https://github.com/team-ide/teamide-html
# 进入html目录
cd teamide-html

# 安装依赖
npm install

# 打包
npm run build

静态资源打包为Go文件

# 安装依赖
go mod tidy

# 前端文件发布到服务中
# 将自动将前端文件打包成到internal/static/html.go文件中
go test -v -timeout 3600s -run ^TestStatic$ teamide/internal/static

单机版可执行文件打包,单机版运行需要谷歌浏览器

# 安装依赖
go mod tidy

# 打包单机运行,需要本地安装谷歌浏览器,用于单个人员使用
# 不需要conf目录
go build .

go build -ldflags "-s -X teamide/pkg/base.version=2.0.0" -o server.exe .

作为服务部署打包

# 安装依赖
go mod tidy

# 作为服务端部署,通过浏览器打开,可供团队使用
# 需要conf目录
go build -ldflags "-s -X main.buildFlags=--isServer" .

Toolbox 模块

工具箱,用于连接Redis、Zookeeper、Database、SSH、SFTP、Kafka、Elasticsearch等

Toolbox 功能

avatar

Toolbox Redis(完成)

连接Redis,支持单机、集群,增删改查等操作,批量删除等

avatar

avatar

avatar

avatar

avatar

Toolbox Zookeeper(完成)

连接Zookeeper,支持单机、集群,增删改查等操作,批量删除等

avatar

Toolbox Kafka(完成)

连接Kafka,增删改查主题,推送主题消息,自定义消费主题消息等

avatar

avatar

Toolbox SSH、SFTP(完成)

配置Linux服务器SSH连接,在线连接服务执行命令

avatar

avatar

avatar

SSH模块可以点击FTP,进行本地和远程文件管理 FTP:上传、下载、移动、本地远程相互移动、重命名、删除、批量上传和下载等功能

avatar

avatar

Toolbox Database(完成)

连接Database,在线编辑库表,编辑库表记录,查看表结构等

avatar

avatar

avatar

avatar

avatar

avatar

avatar

avatar

avatar

Toolbox Elasticsearch(完成)

连接Elasticsearch,编辑索引,增删改查索引数据等

avatar

avatar

Toolbox 其它

avatar

Node 模块

节点服务,用于不同网段通信,借助节点模块的网络代理实现内外网透传等

avatar

avatar

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

Team IDE 工具 集成MySql、Oracle、金仓、达梦、神通等数据库、SSH、FTP、Redis、Zookeeper、Kafka、Elasticsearch等管理工具 展开 收起
Apache-2.0
取消

发行版 (4)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/teamide/teamide.git
git@gitee.com:teamide/teamide.git
teamide
teamide
teamide
main

搜索帮助