Skip to content
/ WebHook Public

🪝 WebHook Tools ( WebHook 工具 )

Notifications You must be signed in to change notification settings

fzf404/WebHook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2546247 · Mar 23, 2024

History

17 Commits
Mar 23, 2024
Mar 23, 2024
Mar 23, 2024
Mar 23, 2024
Mar 23, 2024
Mar 23, 2024
Mar 23, 2024
Mar 23, 2024
Mar 23, 2024
Oct 7, 2022
Mar 23, 2024
Mar 23, 2024
Mar 23, 2024
Mar 23, 2024

Repository files navigation

WebHook

通过配置 Yaml 文件的 WebHook 部署脚本

支持 Github、Gitee、Coding、Gitlab、Gitea 及 自定义事件

什么是 WebHook

作为一名运维的同学,前端的同学提了一个需求:

”最近刚学 Jquery,想和后端的同学做一个笔记平台,你可以帮我部署一下嘛?“

你很开心,自己终于能帮上同学的忙了:

”好的,你们先把代码 push 到 git 平台上,我部署好了告诉你!“

随着他们 git 使用的越发熟练,你的工作量越来越大,你想到了一个办法:

”可以使用脚本自动部署到服务器上,这样我就不用每次都去部署了!“

于是你编写一个全自动的 shell 脚本,使用 cron 将脚本添加到定时任务中,每隔一段时间就会自动 clone 一次代码:

”这就是自动化运维吗?终于可以去摸鱼了,太棒了!“

直到有一天,你发现自己的服务器怎么这么越卡,一看性能监控:

”卧槽,为什么每隔十分钟 CPU 占用就突然 200%,五分钟后才恢复到正常水平!“

接着你就被卷到了,后端同学居然在一个笔记平台上使用这么多技术:

”这些都是什么鬼?“

Kafka、Hadoop、Spark、Hive、Hbase、Flink、Zookeeper、Elasticsearch、Redis、Mysql、MongoDB、PostgreSQL、Neo4j、Cassandra、RabbitMQ、Memcached、Nginx、Tomcat、Jetty、ActiveMQ、Solr、Haproxy、Zookeeper、Docker、Kubernetes、Jenkins、Gitlab、Sonarqube、Nexus、Jira、Confluence、Rundeck、Zabbix、Grafana、Prometheus、Kibana、Elasticsearch、Graylog、Nacos、Sentinel、RocketMQ、SkyWalking、Seata、Dubbo、ShardingSphere

每次提交都自动部署一次,就算超算来了恐怕也不够用,你只能选择放弃自动部署,思考一个更好的解决方案:

”能不能每次 commit 以后才能自动部署一次?“

于是你了解到了 WebHook,它可以根据 git 操作,通过 http 请求触发服务器上配置的事件,你决定使用 WebHook 来实现自动化部署:

”欸,这个项目好像不错,那就用这个吧!“

就这样本项目多了一个 star!

快速开始

正在筹划 cli 的版本,可以直接使用命令行来部署,敬请期待!

# 1. 下载 Release
wget https://github.com/fzf404/WebHook/releases/download/1.1.0/webhook.tar.gz

# 2. 解压
tar -zxvf webhook.tar.gz

# 3. 进入目录
cd webhook

# 4. 运行
./webhook

# 5. 配置文件
vim config/config.yaml

# 6. 使用 pm2 后台运行
pm2 start webhook

About

🪝 WebHook Tools ( WebHook 工具 )

Resources

Stars

Watchers

Forks

Packages

No packages published