Skip to content

Latest commit

 

History

History
67 lines (40 loc) · 2.52 KB

README.md

File metadata and controls

67 lines (40 loc) · 2.52 KB

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