目录
目录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

关于

目前提供 3款实用Bot:🚀 自动创建发行版、💬 疑修自动评论、🔀 PR自动合并

30.9 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号