gitlab_monitor/index.ts
zhaoyingbo da1c5f7580
All checks were successful
CI Monitor CI/CD / build-image (push) Successful in 32s
CI Monitor CI/CD / deploy (push) Successful in 40s
feat: 支持对PipeLine WebHooks的处理 #1
2024-07-26 07:17:32 +00:00

31 lines
912 B
TypeScript

import { manageCIMonitorReq } from "./routes/ci"
import { manageGitlabEventReq } from "./routes/event"
import initSchedule from "./schedule"
import netTool from "./service/netTool"
// 启动定时任务
initSchedule()
const server = Bun.serve({
async fetch(req) {
try {
const url = new URL(req.url)
// 根路由
if (url.pathname === "/") return netTool.ok("hello, glade to see you!")
// CI 监控
if (url.pathname === "/ci") return manageCIMonitorReq(req)
// Gitlab 事件
if (url.pathname === "/event") return manageGitlabEventReq(req)
// 其他
return netTool.ok("hello, glade to see you!")
} catch (error: any) {
// 错误处理
console.error("🚀 ~ serve ~ error", error)
return netTool.serverError(error.message || "server error")
}
},
port: 3000,
})
console.log(`Listening on ${server.hostname}:${server.port}`)