webhook 极简命令行版本的 git webhok开源项目

我要开发同款
匿名用户2017年03月31日
46阅读
开发技术Python
所属分类其他
授权协议MIT

作品详情

webhookit是一个极简的命令行版本的gitwebhok,部署容易,非常简单就可以部署一个webhookserver。支持GitHub, GitLab, GitOsc, Gogs, Coding。Python2/3都支持。

1.安装

pipinstallwebhookit

支持Python2/3。安装之后,在系统中可以得到两个命令工具:webhookit and webhookit_config。

2.使用

运行 webhookit--help 可以得到命令的帮助信息,具体的信息如下:

# webhookit --helpUsage: webhookit [OPTIONS]Options:  -c, --config PATH      The web hook configure file path.  -p, --port INTEGER     The listening port of HTTP server.  --help                 Show this message and exit.

运行 webhookit_config 可以得到工具配置的模版内容。

运行 webhookit-cconfig.py-p18340 开启一个webhook的http服务器。

3.一个示例

下面是一个简单的例子,用来展示如何使用本工具:

# 1. 安装 webhookitpip install webhookit# 2. 初始化一个配置模版webhookit_config > /home/hustcc/webhook-configs/config4hustcc.py# 3. 更新 config4hustcc.py 配置内容vim config4hustcc.py# 4. 运行 http serverwebhookit -c config4hustcc.py

然后在浏览器中打开 https://host:18340 就可以看到下面的一些信息了:

webhook执行的状态;

webhook的URL地址;

webhook的配置信息(隐藏私密信息);

4.配置文件说明# -*- coding: utf-8 -*-'''Created on Mar-03-17 15:14:34@author: hustcc/webhookit'''# This means:# When get a webhook request from `repo_name` on branch `branch_name`,# will exec SCRIPT on servers config in the array.WEBHOOKIT_CONFIGURE = {    # a web hook request can trigger multiple servers.    'repo_name/branch_name': [{        # if exec shell on local server, keep empty.        'HOST': '',  # will exec shell on which server.        'PORT': '',  # ssh port, default is 22.        'USER': '',  # linux user name        'PWD': '',  # user password or private key.        # The webhook shell script path.        'SCRIPT': '/home/hustcc/exec_hook_shell.sh'    }, ...],...}

Python变量名 WEBHOOKIT_CONFIGURE 不要去修改。

每个webhook都用仓库的名字和分支名字 'repo_name/branch_name' 作为它的键值,每个webhook可以触发一组服务器,这些服务器的配置信息存储在一个数组中。

服务器可以是远程的服务器,也可以是本地机器,如果要触发本机的脚本运行,那么请保持 HOST, PORT, USER, PWD 这些配置为空,或者不存在这些键值。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论