|
||
---|---|---|
base_api | ||
config | ||
jobs | ||
mock | ||
python_packages | ||
service | ||
.gitignore | ||
Pipfile | ||
Pipfile.lock | ||
README.md | ||
dockerfile | ||
main.py |
README.md
🤖 如何安装与使用Bot
🛒一、安装Bot
Bot已成功上架到Bot市场,点击这里快速访问 👉 Bot市场 目前提供 3款实用Bot:
🚀 自动创建发行版
💬 疑修自动评论
🔀 PR自动合并
📝 二、Bot功能详解
1. 🚀 发行版自动创建
🔐权限说明 ✅ 仅需授予 代码库事件-推送(Git推送到存储库) 权限 ✨ 自动监控所有分支的 commit 记录
⚙️ 运作流程
- Bot成功安装后,会自动在仓库的webhook列表新增一条webhook记录。
- 当仓库存在push事件后,会触发webhook推送,我们可以在该webhook下面查看到推送内容。
- 服务器接收到webhook的推送,触发发行版的创建。
- 创建的发行版信息如下:
- 发行版所属标签:当前分支名 - 时间戳
- 发行版名称:BOT触发: 当前分支名- 时间戳
- 发行版内容: bot检测到仓库有推送,触发发行版的自动创建,commit信息如下: 1. {author}/{email} 于 {commit_time} 在分支 {branch} 提交了代码。commit_id是:xxx, commit内容是:xxx 2. ......
2. 💬 疑修自动评论
🔐权限说明 ✅ 仅需授予 疑修事件-疑修(疑修已打开、已关闭、已重新打开或编辑)权限。 ✨ 监测到代码库有新创建的疑修后,在该疑修下添加评论。 评论内容:
非常感谢您提供的宝贵意见。我们已经仔细阅读并理解了您的建议。我们将认真考虑这些建议,并在未来的版本中进行相应的调整。如果您还有其他建议,请随时告诉我们。再次感谢您的支持,希望今后能继续得到您的指导。
⚙️ 运作流程
- Bot成功安装后,会自动在仓库的webhook列表新增一条webhook记录。
- 当仓库存在疑修事件(action=opened)后,会触发webhook推送,我们可以在该webhook下面查看到推送内容。
- 服务获取到webhook推送,会触发疑修评论创建。
3. 🔀 PR自动合并
🔐权限说明 ✅ 仅需授予 合并请求事件-合并请求(合并请求被打开、被关闭或被编辑)权限。 ✨ 监测到代码库有新创建的PR后,自动将PR进行合并。
⚙️ 运作流程
- Bot成功安装后,会自动在仓库的webhook列表新增一条webhook记录。
- 当仓库存在合并请求事件(action=opened)后,会触发webhook推送,我们可以在该webhook下面查看到推送内容。
- 服务获取到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