热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Github的webhooks进行网站自动化部署,Deliver失败?

问题描述使用Github的webhooks进行网站自动化部署中遇到的问题,下面是详细描述。参考文章:使用Github的webhooks进行网站自动化部署|A

问题描述

使用Github的webhooks进行网站自动化部署中遇到的问题,下面是详细描述。
参考文章:使用Github的webhooks进行网站自动化部署 | Aotu.io「凹凸实验室」

相关代码


我的自动化脚本:

1
2
3
4
5
6
7
8
9
10
echo `date`

SITE_PATH = '****'

cd $SITE_PATH

echo start pull from github

git reset --hard origin/master

git clean -f

git pull

git checkout master

echo start build..

jekyll build --destination=/usr/share/nginx/html


利用
1
github-webhook-handler

,创建了服务主入口

1
.js

文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var http = require('http');

var createHandler = require('github-webhook-handler');

var handler = createHandler({ path: '/webhook', secret: '*******' });



function run_cmd(cmd, args, callback) {

  var spawn = require('child_process').spawn;

  var child = spawn(cmd, args);

  var resp = "";



  child.stdout.on('data', function(buffer) { resp += buffer.toString(); });

  child.stdout.on('end', function() { callback (resp) });

}



http.createServer(function (req, res) {

  handler(req, res, function (err) {

    res.statusCode = 404

    res.end('no such location')

  })

}).listen(3001)



handler.on('error', function (err) {

  console.error('Error:', err.message)

})



handler.on('push', function (event) {

  console.log('Received a push event for %s to %s',

    event.payload.repository.name,

    event.payload.ref);

  run_cmd('sh', ['./start_blog.sh'], function(text){ console.log(text) });

})

并且使用

1
forever start *.js

成功运行。
经检查,前两者应该没有问题。

Nginx 中的反向代理:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
server {

    listen       80 ;

    server_name  .com;



    location = /webhook {

        proxy_pass http://127.0.0.1:3001/webhook;

    }



    return 301 https://www..com$request_uri;

}

server {

    listen 443;

    server_name .com;

    return 301 https://www..com$request_uri;

}

server {

    listen 443 default_server ssl;

    server_name www..com;



    …… # 略

   

    return 301 https://www..com$request_uri;

}

3001 端口已开放:

1
tcp    0    0    :::3001    :::*    LISTEN    31061/node


Webhook 设置

我期待的结果?实际看到的错误信息?

但是 Deliver 失败,我在本地提交代码服务器端并不会自动同步:

但是在之前是成功过的:

因此可能问题出现在重定向上,是否在 Nginx 代理配置中出现错误?
问题比较长,感谢耐心读到这里,希望有所指点。


推荐阅读
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
  • 构建LNMP架构平台
    LNMP架构的组成:Linux、Nginx、MySQL、PHP关于NginxNginx与apache的作用一样,都是为了搭建网站服务器,由俄罗斯人lgorsysoev开发,其特点是 ... [详细]
  • nginx 反向代理proxy参数讲解
    ![](http:i2.51cto.comimagesblog20180805c32a728954d93ee2a4e4fb59c150a15b.png?x-oss-processi ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • nginx+多个tomcat
    学习nginx的时候遇到的问题:nginx怎么部署两台tomcat?upstream在网上找的资源,我在nginx配置文件(nginx.conf)中添加了两个server。结果只显 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • 1、etcnginxconf.ddefault.conf,添加如下信息:location{try_files$uri$urirouter;rootho ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
author-avatar
铲除飞网败类
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有