ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

WorkBuddy 快速开始:从安装到第一个自动化任务

WorkBuddy 快速开始:从安装到第一个自动化任务 1. 引言WorkBuddy 是一款面向开发者和运维人员的自动化任务编排工具它通过可视化的流程设计器和丰富的插件生态帮助团队把重复性工作转化为可复用、可追踪的自动化流程。本文将从零开始带你完成 WorkBuddy 的安装、配置并编写第一个自动化任务。在开始之前建议先了解以下三个核心概念任务TaskWorkBuddy 中最小的执行单元对应一个具体的操作例如发送通知、执行脚本或调用 API。流程Flow由多个任务按顺序或条件组合而成的工作流是编排的核心载体。触发器Trigger启动流程的入口支持定时、Webhook、文件监听等多种方式。2. 环境准备WorkBuddy 基于 Java 17 构建建议使用 Docker 方式部署以便快速获得一致的运行环境。以下是推荐的软硬件要求项目最低要求推荐配置操作系统Linux / macOS / WindowsLinuxUbuntu 22.04内存2 GB4 GB 及以上CPU2 核4 核及以上Docker20.1024.0JDK源码运行1717 LTS如果你选择源码方式运行请先确认 JDK 和 Maven 已正确安装java -version mvn -version3. 安装 WorkBuddy3.1 使用 Docker 安装推荐WorkBuddy 官方提供了开箱即用的 Docker 镜像一条命令即可启动服务docker run -d \ --name workbuddy \ -p 8080:8080 \ -v workbuddy-data:/data \ workbuddy/workbuddy:latest启动后访问 http://localhost:8080 即可打开控制台。首次登录需要初始化管理员账号默认用户名和密码会打印在容器日志中docker logs workbuddy | grep admin3.2 使用源码构建如果你希望基于源码进行二次开发可以克隆仓库并本地构建git clone https://github.com/workbuddy/workbuddy.git cd workbuddy mvn clean package -DskipTests java -jar server/target/workbuddy-server.jar构建完成后服务默认监听 8080 端口配置文件位于server/src/main/resources/application.yml。4. 初始化配置登录控制台后进入「系统设置」页面完成以下基础配置工作目录设置任务脚本和临时文件的存放路径例如/data/workspace。通知渠道配置邮件或企业微信机器人用于接收任务执行结果通知。凭据管理添加数据库、云平台等外部服务的访问凭据供任务调用。以下是一个通过配置文件设置通知渠道的示例workbuddy: notify: email: enabled: true host: smtp.example.com port: 465 username: botexample.com password: your-password webhook: enabled: true url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyyour-key5. 创建第一个自动化任务下面我们通过一个实际案例演示如何创建一个「定时备份数据库并发送通知」的流程。5.1 新建流程在控制台左侧导航栏点击「流程管理」然后点击「新建流程」填写流程名称和描述流程名称每日数据库备份 流程描述每天凌晨 2 点备份 MySQL 数据库并将结果发送到企业微信群5.2 配置触发器在流程编辑器中添加一个「定时触发器」并设置 Cron 表达式0 0 2 * * ?该表达式表示每天凌晨 2 点触发一次。WorkBuddy 支持标准的 Quartz Cron 语法你可以在「触发器」面板中实时预览下一次执行时间。5.3 添加备份任务点击「添加任务」选择「执行脚本」类型并编写备份脚本。这里以 Linux 环境下的 MySQL 备份为例#!/bin/bash BACKUP_DIR/data/backup DB_NAMEmydb DB_USERroot DB_PASSWORDyour-password TIMESTAMP$(date %Y%m%d%H%M%S) mkdir -p $BACKUP_DIR mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME \ | gzip $BACKUP_DIR/${DB_NAME}_${TIMESTAMP}.sql.gz echo 备份完成$BACKUP_DIR/${DB_NAME}_${TIMESTAMP}.sql.gz在任务配置中将「执行方式」设置为bash并把上述脚本粘贴到「脚本内容」输入框中。WorkBuddy 会自动捕获脚本的标准输出和退出码用于后续判断任务是否成功。5.4 添加通知任务再添加一个「发送 Webhook 通知」任务用于把备份结果推送到企业微信群。在任务配置中填写 Webhook 地址和消息模板{ msgtype: text, text: { content: 数据库备份任务执行完成结果{{task.output}} } }其中{{task.output}}是 WorkBuddy 的变量引用语法它会自动替换为上一个任务的输出内容。5.5 连接任务并发布在流程编辑器中将「备份任务」的输出节点连接到「通知任务」的输入节点形成一条完整的执行链路。点击右上角「保存并发布」流程即进入生效状态。你可以在「执行记录」页面查看每次触发的运行日志包括每个任务的耗时、退出码和输出内容。6. 使用 API 触发流程除了定时触发WorkBuddy 还提供了 REST API方便你把流程集成到自己的系统中。以下是一个使用 curl 触发流程的示例curl -X POST http://localhost:8080/api/v1/flows/run \ -H Authorization: Bearer YOUR_API_TOKEN \ -H Content-Type: application/json \ -d { flowId: flow_123456, params: { backupPath: /data/backup } }接口会返回一个执行实例 ID你可以通过它查询执行状态curl http://localhost:8080/api/v1/executions/exec_789012 \ -H Authorization: Bearer YOUR_API_TOKENAPI Token 可以在「个人设置」页面生成建议为不同的调用方创建独立的 Token并设置合理的过期时间。7. 常见问题排查7.1 任务执行失败当任务执行失败时首先查看「执行记录」中的错误日志。常见原因包括脚本权限不足、依赖命令未安装、网络不通等。WorkBuddy 支持在任务配置中设置「重试次数」和「失败通知」建议对关键任务开启自动重试retry: maxAttempts: 3 backoff: 50007.2 触发器未生效如果定时触发器没有按预期执行请检查服务器时区设置。WorkBuddy 默认使用 UTC 时区你可以在配置文件中修改spring: jackson: time-zone: Asia/Shanghai8. 总结本文从环境准备、安装部署、初始化配置到创建第一个自动化流程完整演示了 WorkBuddy 的快速上手路径。通过定时触发器、脚本任务和 Webhook 通知的组合你已经可以搭建一个实用的自动化备份方案。后续可以继续探索条件分支、并行执行、人工审批等高级编排能力把更多重复性工作交给 WorkBuddy。
返回列表