码迷,mamicode.com
首页 > Web开发 > 详细

Git----使用WebHook实现代码自动部署

时间:2018-08-21 15:15:02      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:补充   需求   png   分类   pull   一行代码   1.3   image   其他   

  起因: 经常本地push到gitee等线上代码仓库,然后登陆服务器在进行pull,很麻烦,想偷懒怎么办?使用git的webhook实现!

1.实现原理

  1.1本地提交推送

  1.2线上仓库监听push动作,也就是webhook,回调url触发服务器的pull操作

  1.3服务器pull操作

2.实现步骤

  2.1本地和服务器安装git(略过)

  2.2码云进入项目->管理->webhook设置,(其他原理一样 git,coding)

技术分享图片

  url就是你服务器上可以访问的地址, 该地址是进行pull命令的文件,可以是php,python,node等等等,勾选push就是当push动作的时候触发这个url,访问服务器进行pull操作,勾选其他的就是其他的动作,这里不做解释. 添加后,会有测试按钮,建议代码写上测试一下

1 shell_exec(‘ls‘)

  如果返回文件目录,则表示该权限可以执行,服务器是LNMP, 然后只需要一行代码(我的需求就是自动拉取,所有不做深入的操作,比如验证,日志,分类什么的可以自己补充)通过代码可以查看回调的信息,根据信息进行操作

$request = json_decode(file_get_contents(‘php://input‘), true)

  拉取动作

echo shell_exec(‘cd your_path && git pull‘)

3.一些坑

  如果不成功,建议 LL 命令查看一下用户权限 一般PHP是www-data用户, 使用

sudo chown -R :www-data your_path
sudo chmod -R g+w  your_path

  主要是权限问题,这样应该可以啦! 路由什么的自己去搞定啦! 接下来就可以开心的本地push服务器自己去pull啦~哈哈哈

 

Git----使用WebHook实现代码自动部署

标签:补充   需求   png   分类   pull   一行代码   1.3   image   其他   

原文地址:https://www.cnblogs.com/leedom/p/9510973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!