六一的部落格


关关难过关关过,前路漫漫亦灿灿。




说明

webhook

Github Webhooks

目前每次往GitHub上传代码后, 需要去到VPS上拉取最新内容

GitHub提供Webhooks, 每次同步完代码, GitHub负责给给定地址发请求. 而服务器在此之前已运行webhook程序, 给定地址收到请求时, 其在设定好的项目所在路径执行给定脚本

我们在webhook配置中给出静态博客项目路径, 在脚本里同步GitHub最新内容到本地


在VPS安装并配置webhook

1sudo apt install webhook
  1. 创建文件夹 /usr/local/bin/github-webhooks

    存放webhook配置文件和脚本

    1sudo mkdir -p /usr/local/bin/github-webhooks
    2cd /usr/local/bin/github-webhooks
  2. 添加脚本

    1sudo touch redeploy.sh
    2sudo chmod +x redeploy.sh
    3sudo vi redeploy.sh 
    1#!/bin/sh
    2git pull
  3. 添加webhook配置文件

    1sudo vi hooks.json
    1[
    2    {
    3        "id": "redeploy-blog",
    4        "execute-command": "/usr/local/bin/github-webhooks/redeploy.sh",
    5        "command-working-directory": "/usr/local/var/<项目名称>"
    6    }
    7]
    -
    脚本路径 /usr/local/bin/github-webhooks/redeploy.sh
    项目路径 /usr/local/var/<项目名称>
  4. 开启通信端口

    1sudo ufw allow <通信端口>
  5. 运行webhook

    默认使用9000端口, 如果提示该端口被占用, 或者想使用自定义端口, 使用 -port 指定通信端口

    1su root
    2
    3webhook -hooks /usr/local/bin/github-webhooks/hooks.json -verbose -port <通信端口>

在GitHub上为项目配置Webhooks

入口


注意到 redeploy-blog 和webhook配置文件里的 id 项一致


测试

更新项目内容, 观察webhook运行输出

也可以在Github上 Recent Deliveries 查看送达记录


在后台运行webhook

1nohup webhook -hooks /usr/local/bin/github-webhooks/hooks.json -verbose -port <通信端口> &

书签

-
leonis-在服务器部署静态博客
使用webhook自动更新博客

VPS自动从GitHub拉取项目更新



说明

webhook

Github Webhooks

目前每次往GitHub上传代码后, 需要去到VPS上拉取最新内容

GitHub提供Webhooks, 每次同步完代码, GitHub负责给给定地址发请求. 而服务器在此之前已运行webhook程序, 给定地址收到请求时, 其在设定好的项目所在路径执行给定脚本

我们在webhook配置中给出静态博客项目路径, 在脚本里同步GitHub最新内容到本地


在VPS安装并配置webhook

1sudo apt install webhook
  1. 创建文件夹 /usr/local/bin/github-webhooks

    存放webhook配置文件和脚本

    1sudo mkdir -p /usr/local/bin/github-webhooks
    2cd /usr/local/bin/github-webhooks
  2. 添加脚本

    1sudo touch redeploy.sh
    2sudo chmod +x redeploy.sh
    3sudo vi redeploy.sh 
    1#!/bin/sh
    2git pull
  3. 添加webhook配置文件

    1sudo vi hooks.json
    1[
    2    {
    3        "id": "redeploy-blog",
    4        "execute-command": "/usr/local/bin/github-webhooks/redeploy.sh",
    5        "command-working-directory": "/usr/local/var/<项目名称>"
    6    }
    7]
    -
    脚本路径 /usr/local/bin/github-webhooks/redeploy.sh
    项目路径 /usr/local/var/<项目名称>
  4. 开启通信端口

    1sudo ufw allow <通信端口>
  5. 运行webhook

    默认使用9000端口, 如果提示该端口被占用, 或者想使用自定义端口, 使用 -port 指定通信端口

    1su root
    2
    3webhook -hooks /usr/local/bin/github-webhooks/hooks.json -verbose -port <通信端口>

在GitHub上为项目配置Webhooks

入口


注意到 redeploy-blog 和webhook配置文件里的 id 项一致


测试

更新项目内容, 观察webhook运行输出

也可以在Github上 Recent Deliveries 查看送达记录


在后台运行webhook

1nohup webhook -hooks /usr/local/bin/github-webhooks/hooks.json -verbose -port <通信端口> &

书签

-
leonis-在服务器部署静态博客
使用webhook自动更新博客