当前位置:   article > 正文

webhooks服务器_如何利用webhooks进行自动化部署

webhooks请输入含协议的 http / ftp 地址

最初,写完项目后,通过ftp把代码传到服务器上,后续如果有修改,再把修改的文件通过ftp上传到服务器进行覆盖,这个流程属实麻烦。

后来使用git代码仓库管理,本地写好代码后,push到仓库,然后到服务器上pull,操作相对比较方便。

但是,依旧觉得这样还是很麻烦,先不说本地push,然后到服务器pull,这只是1台服务器的情况下,如果有多台服务器呢?

其实可以利用webhooks进行自动化部署:本地push后,线上自动pull,这样就方便多了。

下面以gitee做例子,github也同理。

添加webhook

新建项目->打开项目地址->管理->webhooks->添加

45eec62508f53491f405d190d9ab014e.png

e61e8ccb48fc076d898176afb693765d.png

URL:通知地址,根据项目填写地址即可,例如 https://xxx.com/webhooks.php

WebHook 密码/签名密钥:这里我用的是WebHook密码

事件的话按需选择,这里我选的是Push,也就是对项目进行push操作后会触发该webhook事件。

最后点击添加即可。

创建ssh公钥

一般php运行使用的是www用户,具体的可以在webhooks.php里面:

PHP

然后在webhook里面点击测试,我这边输出的结果是:

PHP

那么需要切换到www用户 su www 进行创建ssh公钥

如果出现错误,那么需要vim /etc/passwd,找到www用户,把最后面的修改为bin/bash:

BASIC

保存后再su www即可。

接下来是创建ssh公钥:

Bash

三次回车即可,接着:

Bash

把输出的公钥添加到gitee项目的部署公钥管理里面:

0cccd61fcaed9a5dd16470102451fd9f.png

首次请先在项目根目录下进行git pull,然后输入yes,后续就可以通过webhooks进行自动pull了。

编写webhooks.php

PHP

另外需要开放exec、shell_exec函数,一般环境中默认是禁用的,如果项目是laravel、tp5这些的话,一般也就已经打开了的。

另一种简单的方法

编辑项目根目录下的.git/config文件,修改url为下面格式即可:

Bash

两种方法的区别

明显的,一个通过ssh公钥进行管理,一个是明文的账号密码,如果是自己的服务器,其实没多大关系,但仍然建议使用ssh公钥的方式。

本文标题:如何利用webhooks进行自动化部署

本文链接:https://www.kyjszj.com/htzq/2244.html

作者授权:除特别说明外,本文由 开源技术之家 原创编译并授权 开源技术之家 刊载发布。

版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/488158
推荐阅读
相关标签
  

闽ICP备14008679号