资讯专栏INFORMATION COLUMN

webhook革命: 使用fish-hook自动部署多个应用

I_Am / 981人阅读

摘要:接收端为一个仓库创建假如你在上开通了一个名为的仓库,并且打算为其开通来实现自动部署。完成后,的接收端就部署好了。上线为你封装了部署所需的。一条命令即可启动,此时所有的都会被启用。

fish-hook

一站式高效管理你多个github webhook.

Github地址: https://github.com/dcalsky/fi...

背景

等你辛苦建立好了静态博客,却依然要忍受每次本地更新后,还要ssh到远程重新git pull一遍的痛苦。

当你终于用webhook handler写了一堆代码来解决这个应用的部署问题后,你依然发现,还有许许多多的项目等着你为它们写部署代码。

要是有一个集成化的工具,在一个目录里帮我管理所有的webhook就好了!fish-hook就是为此诞生的,它最大的特色就是:极力缩短开发者花在配置上的时间,约定大于配置。

开始使用 安装

安装python3.5或更高版本,再用pip包管理工具安装fish-hook

$ pip3 install fish-hook
新建fish-hook目录
$ fish-hook init

ssh进入远程主机后,运行该命令,并且设置一个通用的端口,例如: 2333。这样就创建了名为fish的目录,这是控制所有webhook的总目录。$ cd fish进入该目录。

接收端: 为一个仓库创建webhook
$ fish-hook new

假如你在github上开通了一个名为blog的仓库,并且打算为其开通webhook来实现自动部署。那么就输入blog以及你要为此webhook设定的密钥。
完成后,blog的webhook接收端就部署好了。

发送端: 在github上创建webhook

首先打开仓库的github设置页面,然后创建github webhook,填入基本信息。
可以注意到Payload URL这一栏,前面的IP地址就是你远程主机的外网IP地址,之后是你刚刚设置的端口,斜杆后就是blog目录,与接收端的名字相同
密钥一栏当然也要与在fish-hook上设置的相同。

设置接受push事件后的动作

假设你使用git push推送了新的内容到blog仓库,如何执行特定的shell脚本呢?
此时的fish-hook目录是这样的:

fish/
    config.json
    blog/
        app_config.json
        push.sh

为什么有一个push.sh文件呢?就这意味着,当你仓库接受新的push事件后,fish-hook就会运行push.sh这个shell脚本,里面的内容完全可以自己设置。

这就是所谓的约定大于配置,webhook接受到什么样的命令,就会运行相同名字的shell脚本,当然前提是你的目录里要存在这个脚本。

上线
$ fish-hook server

fish-hook为你封装了部署所需的web server。一条命令即可启动,此时所有的webhook都会被启用。

开启2333端口

centos默认开启了端口防火墙,如果你使用了一些具备安全组的云主机服务,也需要开放所有安全组哦。

$ sudo firewall-cmd --zone=public --add-port=2333/tcp --permanent
生产环境 使用Screen
screen -d -m fish-hook server

fish-hook主目录运行该命令,即可使fish-hook server持久运行下去。

webhook 事件们

events

更多帮助

请查看github仓库fish-hook

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38444.html

相关文章

  • Webhooks在API世界中的角色

    摘要:本文旨在让的用户初步认识一下存在的意义。现如今,提供了很多有价值的作用,例如即时通知机制。重要的是面对于大众,我们已经达到这种级别的定制化程度。结论也被称为网络回调或推送被视为一个应用为其他应用提供实时信息的一种方法。 本文旨在:让MaxLeap的用户初步认识一下webhooks存在的意义。 showImg(https://segmentfault.com/img/remote/146...

    tain335 评论0 收藏0
  • Kubernetes准入控制器指南

    摘要:安全功能的最新引入是一组称为准入控制器的插件。通过将标志传递给服务器来配置启用的准入控制器集。本讨论将仅关注基于的准入控制器。摘要准入控制器为安全性提供了显着优势。 作者:Malte Isberner(StackRox) Kubernetes极大地提高了当今生产中后端群集的速度和可管理性。由于其灵活性、可扩展性和易用性,Kubernetes已成为容器编排器的事实标准。Kubernete...

    solocoder 评论0 收藏0
  • Kubernetes准入控制器指南

    摘要:安全功能的最新引入是一组称为准入控制器的插件。通过将标志传递给服务器来配置启用的准入控制器集。本讨论将仅关注基于的准入控制器。摘要准入控制器为安全性提供了显着优势。 作者:Malte Isberner(StackRox) Kubernetes极大地提高了当今生产中后端群集的速度和可管理性。由于其灵活性、可扩展性和易用性,Kubernetes已成为容器编排器的事实标准。Kubernete...

    Loong_T 评论0 收藏0
  • Webhook 实践 —— 自动部署

    摘要:也许有人看过我之前的一篇博文解决禁止百度爬虫的方法与可行性分析。为了解决文章中的这个问题,我最后建立了一个只服务于百度爬虫的一个备份服务器。于是我要完成的事情便是完成一个能够将我最新版本的博客,随时同步到备份服务器的。 本文最初发布于我的个人博客:咀嚼之味 Webhook,也就是人们常说的钩子,是一个很有用的工具。你可以通过定制 Webhook 来监测你在 Github.com 上的各...

    Lionad-Morotar 评论0 收藏0
  • 简单轻松部署你的项目 - Deployer

    摘要:文件包含了基本的部署配置和任务,且有明确的注释,你可以根据注释在适当的地方添加配置以及任务。自动部署到了这里,恭喜你,已经可以愉快使用。 showImg(https://pigjian.com/storage/post_img/2017-04-09/deployer.jpg); 本文主要介绍 Deployer —— 一个具有模块化、代码回滚、并行任务等功能的 PHP 部署工具。 De...

    cartoon 评论0 收藏0

发表评论

0条评论

I_Am

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<