Go to file
floraachy a7f75e510d 优化job 解决重复执行的问题 2025-07-01 11:41:53 +08:00
base_api 优化代码,将创建发行版和疑修评论bot合并,并新增一个PR自动合并bot 2025-06-30 17:21:39 +08:00
config 优化job 解决重复执行的问题 2025-07-01 11:41:53 +08:00
jobs 优化job 解决重复执行的问题 2025-07-01 11:41:53 +08:00
mock 1. 调整目录结构,使得项目结构符合行业规范以及更容易理解 2.根据webhook内容,决定当前所属环境时测试环境还是正式环境,分别获取不同的域名和bot 3. 根据已安装bot仓库的issue(根据issue关键字搜索),确定定时任务的配置,来决定定时任务怎样运行 2023-04-21 10:09:12 +08:00
python_packages 优化代码,将创建发行版和疑修评论bot合并,并新增一个PR自动合并bot 2025-06-30 17:21:39 +08:00
service 优化job 解决重复执行的问题 2025-07-01 11:41:53 +08:00
.gitignore bot的初始版本 2023-04-21 09:14:13 +08:00
Pipfile 添加日志信息 2025-06-05 11:06:51 +08:00
Pipfile.lock 添加日志信息 2025-06-05 11:06:51 +08:00
README.md 优化job 解决重复执行的问题 2025-07-01 11:41:53 +08:00
dockerfile 调整读取bot配置文件方式 2025-06-30 20:22:31 +08:00
main.py 优化job 解决重复执行的问题 2025-07-01 11:41:53 +08:00

README.md

🤖 如何安装与使用Bot

🛒一、安装Bot

Bot已成功上架到Bot市场点击这里快速访问 👉 Bot市场 目前提供 3款实用Bot

🚀 自动创建发行版

💬 疑修自动评论

🔀 PR自动合并

📝 二、Bot功能详解

1. 🚀 发行版自动创建

🔐权限说明 仅需授予 代码库事件-推送Git推送到存储库 权限 自动监控所有分支的 commit 记录

⚙️ 运作流程

  1. Bot成功安装后会自动在仓库的webhook列表新增一条webhook记录。
  2. 当仓库存在push事件后会触发webhook推送我们可以在该webhook下面查看到推送内容。
  3. 服务器接收到webhook的推送触发发行版的创建。
  4. 创建的发行版信息如下:
  • 发行版所属标签:当前分支名 - 时间戳
  • 发行版名称BOT触发: 当前分支名- 时间戳
  • 发行版内容: bot检测到仓库有推送触发发行版的自动创建,commit信息如下 1. {author}/{email} 于 {commit_time} 在分支 {branch} 提交了代码。commit_id是xxx commit内容是xxx 2. ......

2. 💬 疑修自动评论

🔐权限说明 仅需授予 疑修事件-疑修(疑修已打开、已关闭、已重新打开或编辑)权限。 监测到代码库有新创建的疑修后,在该疑修下添加评论。 评论内容:

非常感谢您提供的宝贵意见。我们已经仔细阅读并理解了您的建议。我们将认真考虑这些建议,并在未来的版本中进行相应的调整。如果您还有其他建议,请随时告诉我们。再次感谢您的支持,希望今后能继续得到您的指导。

⚙️ 运作流程

  1. Bot成功安装后会自动在仓库的webhook列表新增一条webhook记录。
  2. 当仓库存在疑修事件action=opened会触发webhook推送我们可以在该webhook下面查看到推送内容。
  3. 服务获取到webhook推送会触发疑修评论创建。

3. 🔀 PR自动合并

🔐权限说明 仅需授予 合并请求事件-合并请求(合并请求被打开、被关闭或被编辑)权限。 监测到代码库有新创建的PR后自动将PR进行合并。

⚙️ 运作流程

  1. Bot成功安装后会自动在仓库的webhook列表新增一条webhook记录。
  2. 当仓库存在合并请求事件action=opened会触发webhook推送我们可以在该webhook下面查看到推送内容。
  3. 服务获取到webhook推送会触发PR自动合并。

🛠️ 三、Bot服务部署

1. 环境准备

1安装python我是用的python版本是3.9.5

python安装包下载地址https://www.gitlink.org.cn/zone/tester/source/189

2环境依赖包安装

我是用的是pipenv管理虚拟环境, 需要先安装pipenv: pip install pipenv

安装完成后,一键安装所有依赖: pipenv install

如果不使用pipenv管理虚拟环境也可以手动安装依赖

pip install jwt
pip install requests
pip install flask
pip install loguru
pip install flask-apscheduler

3运行bot

# 使用虚拟环境运行
pipenv run python main.py 

# 直接运行
python main.py

🐳 四、Docker 常用命令手册

前提条件宿主机已经安装docker

1.构建镜像

语法docker buildx build -f Dockerfile的路径 -t 镜像的名称及标签 镜像构建的目录

  • -f:指定 Dockerfile 文件路径(可使用绝对/相对路径)
  • -t:指定镜像名称及标签格式 [name]:[tag]
  • .:表示当前构建上下文目录

示例

docker buildx build -f dockerfile -t mybot:V1.0 .

2. 运行镜像

语法docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG…]

  • -d/detach:后台运行容器
  • p/publish:端口映射格式 [主机IP:]主机端口:容器端口[/协议]
  • name:指定容器名称(未指定时会自动生成随机名称)
  • -e/env:设置环境变量
  • -v/volume:挂载数据卷
  • restart:设置重启策略(如 restart=always

示例

docker run -d -p 8070:8070 --name mybot mybot:V1.0

3. 查看运行日志

语法docker logs [OPTIONS] IMAGE[:TAG|@DIGEST]

  • -f:实时跟踪日志
  • tail N显示最后N行日志
  • since:显示指定时间后的日志

示例

docker logs -f  --tail 300 mybot

4. 停止容器

语法 docker stop [OPTIONS] 容器名称/ID

  • -t/--time: 停止前等待时间(秒)

示例

docker stop mybot

5. 从docker容器复制文件到宿主机当前目录

docker cp 容器名称/容器ID:/容器内文件路径 宿主机文件路径 例如:docker cp mybot:V1.0:/config/bot_info.py .

6. 从宿主机复制文件到docker容器内

docker cp 宿主机文件路径 容器名称/容器ID:/容器内文件路径 例如:docker cp ./bot_info.py mybot:V1.0:/config

7. 进入docker容器内部

docker exec -it 容器名称/容器ID /bin/bash 例如:docker exec -it mybot:V1.0 /bin/bash