首页 > Git > git@oschina webhook 自动化部署
2015
09-06

git@oschina webhook 自动化部署

环境

debian nginx php git git@oschina

 

1.创建git@osc库

git@oschina webhook 自动化部署 - 第1张  | 技术人生

2.公钥管理

git@oschina webhook 自动化部署 - 第2张  | 技术人生

具体操作参考 怎样生成公钥

 

3.编写webhook 脚本  update.php

<?php
$www_folder = "/data/www/gxsc" ;

//git仓库地址
$git_repo = "git@git.oschina.net:547376634/gxsc.git";

//执行指令
echo shell_exec(" cd $www_folder && sudo git pull $git_repo 2>&1 ");

 

4.设置执行权限

php执行 whoami.php,查看结果

git@oschina webhook 自动化部署 - 第3张  | 技术人生

ps:whoami.php

<?php echo exec('whoami'); ?>
这里www-data用户执行 sudo 命令时出出错
错误信息会出现Permission denied (publickey,password,keyboard-interactive)
执行:sudo visudo -f /etc/sudoers
在root 后面 添加  www-data ALL=(ALL) NOPASSWD: ALL
git@oschina webhook 自动化部署 - 第4张  | 技术人生

 

 

5.测试 php hook脚本

执行url

git@oschina webhook 自动化部署 - 第5张  | 技术人生

 

6.修改git@osc hook脚本地址

git@oschina webhook 自动化部署 - 第6张  | 技术人生

 

7.测试

git@oschina webhook 自动化部署 - 第7张  | 技术人生

push后,刷新url地址

 

git@oschina webhook 自动化部署 - 第8张  | 技术人生

最后编辑:
作者:sunny5156
喜欢技术....

留下一个回复