美文网首页
使用webhook自动化更新代码到服务器

使用webhook自动化更新代码到服务器

作者: 罗盘上的方向 | 来源:发表于2018-02-24 15:54 被阅读237次

了解webhook很久了,今天在自己的服务器上测试了一把,原理很简单,大致如下:
1.本地提交代码
2.服务器接收到提交代码请求后,向webhook指定的链接地址发起一个请求,调用指定程序在服务端拉取提交的代码

webhook的代码很简单,执行一下git pull命令即可
本文使用coding.net作为git代码仓库
下面以php代码为例:

//1.得到代码仓库传过来的参数
$post_data = json_decode(file_get_contents("php://input"));
//2. 判断token是否合法
if($post_data->token === 'your token') {
    //实际编写中遇到没有设置用户名和邮箱的问题,所以这时里我多运行了一次
    shell_exec("git config --global user.email 你的邮箱");
    shell_exec("git config --global user.name 你的用户名");
    //这里得到当前文件所在目录
    $pwd = getcwd();
    //因为我使用的是laravel框架,webhook.php文件我放在public下面的,所以这里多运行了一个cd ..
    $command = 'cd ' .  $pwd . ' && cd .. && git pull 2>&1';
    $status = shell_exec($command);
    
    print $status;    
}

说明:

  1. webhook文件放的目录需要与你代码中执行的路径相对应,比如说我这里文件是放在public里面的,所以我在得到当前目录后,又多运行了一次cd ..

相关文章

  • 使用webhook自动化更新代码到服务器

    了解webhook很久了,今天在自己的服务器上测试了一把,原理很简单,大致如下:1.本地提交代码2.服务器接收到提...

  • CentOS搭建hexo博客,实现自动化部署(一)

    思路 将本机代码推送到github,然后服务器利用webhook,完成自动化部署。 本机安装git、hexo 安装...

  • lumen 开发多环境配置整合

    因为当前代码与上线都是通过Git webhook的方式管理,需要提交代码后自动同步到开发服务器、测试服务器,发布版...

  • GIT使用命令

    git pull(更新服务器代码到本地,若命令执行成功,则更新代码成功)git push(更新本地代码到服务器,若...

  • Git WebHook简易自动部署笔记

    CYC有三台服务器分别位于腾讯云、阿里云、美国,最近在研究自动化部署。主要使用git+webhook方案。实现gi...

  • 使用 Jenkins 部署 PHP Laravel 项目

    目标: 通过脚本手动部署项目到远程服务器 使用 GitHub webhook 在分支变更时自动部署 部署脚本 分析...

  • 【svn系列】之初始化后客户端使用

    【目录】 一、代码初始化导入服务器二、下载代码到本地三、提交更改代码到服务器四、更新服务器代码到本地 【SVN理解...

  • 自动 部署 java 后台 项目

    一、序言 java 后台项目部署到服务器时,需要更新代码、打包、上传代码、备份服务器包、更新代码、停止服务、启...

  • 初识WinSCP、putty

    WinSCP 使用场景: 1、将服务器上的代码拉到本地 2、本地修改后的代码更新到服务器上(只更新修改...

  • expect自动化远程登录脚本

    expect自动化远程登录脚本 使用场景 每次都要手动登录服务器去拉代码,执行代码,十分繁琐,使用expect的目...

网友评论

      本文标题:使用webhook自动化更新代码到服务器

      本文链接:https://www.haomeiwen.com/subject/xnoqxftx.html