xyOps 新手第一课:从零创建你的第一个自动化任务(Hello World 完整指南)

xyOps 新手第一课:从零创建你的第一个自动化任务(Hello World 完整指南) xyOps 新手第一课从零创建你的第一个自动化任务Hello World 完整指南【免费下载链接】xyopsThe next generation of Cronicle: open-source job scheduling, visual workflows, server monitoring, alerting, and incident response.项目地址: https://gitcode.com/gh_mirrors/xy/xyopsxyOps 是一款下一代开源作业调度与自动化平台支持任务调度、可视化工作流、服务器监控与告警。本文作为新手第一课带你用 10 分钟从零创建第一个 Hello World 自动化任务掌握事件、触发器、Shell 插件等核心概念快速上手 xyOps 作业调度。为什么选择 xyOps不只是 cron传统 cron 只能定时跑脚本而 xyOps 把作业调度升级为一套完整的运维自动化平台能力说明⏰ 任务调度支持手动、计划任务、固定间隔、单次执行等多种触发方式️ 服务器监控轻量代理 xySat 实时上报 CPU、内存等指标 可视化工作流用图形化节点图编排复杂流程支持并行、分支 告警与动作任务失败自动发邮件、Web Hook、创建工单一句话理解事件Event是任务的配方每次运行事件就产生一个作业Job。大多数自动化从简单事件开始即可需要编排时再用工作流。前置准备三步跑起 xyOps如果你还没有 xyOps 实例Docker 是最快的安装方式。核心要点只有三个指定主机名容器名用稳定可解析的名字如xyops01.internal.example.com工作节点要通过它连接调度中心启用本地代理设置XYOPS_xysat_localtrue调度中心自带一个 xySat 代理够跑第一个任务暴露端口5522Web 界面、5523代理端口docker run -d --name xyops-conductor-1 \ --hostname xyops01.internal.example.com \ -e XYOPS_mastersxyops01.internal.example.com \ -e XYOPS_xysat_localtrue \ -v xy-data:/opt/xyops/data \ -p 5522:5522 -p 5523:5523 \ ghcr.io/pixlcore/xyops:latest浏览器打开http://xyops01.internal.example.com:5522/默认管理员账号密码均为admin首次登录会提示修改密码。完整的自托管方案TLS、Docker Compose、多节点见 docs/hosting.md。如果以后需要真正的远程工作机打开Servers → Add Server复制一行安装命令到目标主机执行服务器就会出现在界面并开始上报指标详见 docs/servers.md。核心概念速览看懂这张表就够了术语通俗解释 Conductor主服务器托管界面、调度器、API️ xySat跑在工作机上的轻量代理负责执行任务和采集指标 Event 事件可复用的任务定义跑什么、在哪跑、何时跑、出错怎么办⚙️ Job 作业事件的一次实际运行有完整日志、指标和状态⚡ Trigger 触发器启动任务的规则手动 / 计划 / 间隔 / 单次 Plugin 插件真正执行任务的代码内置 Shell、HTTP、Docker 等️ Limit 限制护栏最长运行时间、并发数上限、队列上限等 Action 动作对任务结果的反应发邮件、调 Web Hook、触发下一个事件实战步骤创建第一个 Hello World 事件第一步新建事件打开Events页面点击New Event标题填Hello World分类选择默认的General第二步选择 Shell 插件并粘贴脚本插件类型选择Shell Plugin粘贴下面这段最简单的脚本#!/bin/sh echo Hello from xyOps. sleep 5 echo The job is almost done. exit 0exit 0表示任务成功退出。Shell 插件不限于 sh——换成#!/usr/bin/env node或#!/usr/bin/env python3开头就能直接跑 Node.js、Python 脚本。第三步指定目标并保存选择一个目标服务器或服务器分组选择算法保持默认random触发器保持默认的Manual允许手动触发保存事件第四步运行并观察实时反馈点击Run Now...打开作业详情页你会看到实时日志流脚本输出逐行滚动进度条脚本中输出25%这类行即可驱动进度条✅结果代码与运行时长exit 0对应成功状态️服务器指标运行时该服务器的 CPU、内存采样至此你的第一个自动化任务就跑通了 完整教程含进度报告、数据传递可参考 docs/start.md。进阶玩法让你的任务自动化起来手动点 Run 只是开始以下是新手最实用的三个升级方向1️⃣ 定时自动运行编辑事件的触发器把 Manual 换成Schedule类 cron 的时/分/周设定支持时区或Interval每 N 分钟跑一次。详见 docs/triggers.md。2️⃣ 任务链式执行无需工作流即可实现任务 A 成功后自动跑任务 B——在事件 A 的Actions区域添加一个动作为Run Event条件选 On Success目标选事件 B即可。3️⃣ 失败自动告警给事件添加动作条件选On Any Error类型选 Email 或 Web Hook任务一失败就通知你。4️⃣ 并发与排队护栏在Limits区域配置Max Concurrent Jobs最大并发Max Queue Limit排队上限防止任务瞬间挤爆服务器。5️⃣ 可视化工作流需要分支、并行、多节点编排时去Workflows → New Workflow把触发器节点连到事件节点再连到动作节点一张图看清整个流程。详见 docs/workflows.md。新手常见卡点排查现象原因与解决远程服务器添加后一直不在线检查该主机能否curl http://主机名:5522/health主机名必须在网络内可解析手动点 Run 无反应确认事件上启用了Manual触发器否则手动运行会被拒绝任务报成功但没看到输出查看作业详情页的日志标签页协议外的普通文本都会被捕获为日志任务被立即终止检查是否触发了时间/CPU/内存等 Limit 限制接下来学什么学完第一课建议按这个路线继续 事件完整模型参数、宏变量、目标表达式docs/events.md 内置插件与自定义插件开发docs/plugins.md⚠️ 监控与告警docs/monitors.md、docs/alerts.md 作业数据共享Bucketsdocs/buckets.md REST API 编程式触发任务docs/api.md从零到第一个 Hello World 任务你只用了 10 分钟。接下来把 Manual 换成 Schedule让它真正替你自动工作吧【免费下载链接】xyopsThe next generation of Cronicle: open-source job scheduling, visual workflows, server monitoring, alerting, and incident response.项目地址: https://gitcode.com/gh_mirrors/xy/xyops创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考