git php hook

WebHooks https://gitee.com/

0. git.php hook php代码


<?php

//echo(shell_exec("whoami"));

if(function_exists("exec")){
    $dir = "/home/www/test2";
    $giturl = "https://gitee.com/xxxx/test2.git";

    #$cute =  "cd $dir  && git pull $giturl  1>&2";
    #$cute = "git --git-dir=$dir/.git --work-tree=$dir pull";
    #echo $cute;
    #$exe = shell_exec($cute);
    # var_dump($exe);
    $cmd = "cd $dir  &&  git reset --hard &&  git pull";
    echo ($cmd);
    exec($cmd,$data);
    var_dump($data);

     echo( "pull finish : -".date('Y-m-d H:i:s'));
}else{
     echo('php.ini :exec');
}



1. php user


[root@iZ2zeaujzgp9b5nngo5avrZ testgit]# ps -ef | grep php
root      1072     1  0 15:51 ?        00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www       1073  1072  0 15:51 ?        00:00:00 php-fpm: pool www
www       1074  1072  0 15:51 ?        00:00:00 php-fpm: pool www
www       1075  1072  0 15:51 ?        00:00:00 php-fpm: pool www
www       1076  1072  0 15:51 ?        00:00:00 php-fpm: pool www
www       1077  1072  0 15:51 ?        00:00:00 php-fpm: pool www
www       1078  1072  0 15:51 ?        00:00:00 php-fpm: pool www
www       1079  1072  0 15:51 ?        00:00:00 php-fpm: pool www
www       1080  1072  0 15:51 ?        00:00:00 php-fpm: pool www
root      8160 27037  0 17:15 pts/4    00:00:00 grep --color=auto php


用户: www

2. 打开 www 登录

vim /etc/passwd

把 www:x:1000:1000::/home/www:/sbin/nologin

改成 www:x:1000:1000::/home/www:/bin/bash

切换www用户

 su - www   // 测试可以
 
 exit     //退出 www 

3. 打开 www 获取git 执行权限

vim /etc/sudoers

加入 www

root    ALL=(ALL)       ALL

www     ALL= NOPASSWD:/usr/bin/git 

4. 设置 www 免密码可以使用git

1.执行下面命令


su www 

git config --global credential.helper store

这个时候~/.gitconfig文件中会多一行
[credential]
helper = store

2.执行git pull再次输入用户名和密码

cd /home/www/test2   //要部署到www可以访问在文件夹 

git clone https://gitee.com/xxxx/test2.git .

git pull 

cat ~/.git-credentials


有 https://{username}:{password}@gitee.com

或者

  • 添加公钥 参考: https://gitee.com/help/articles/4181

5. 访问测试 或设置到 WebHooks

直接访问 http://x.x.x.ip/git.php

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值