gitee中的钩子配置+博客部署
摘要
本人所理解的自动化部署就是项目上传完git后不需要在上传到服务器可以自行同步,从而节省操作流程。由于使用Hexo博客想上传到自己服务器那么就要配置钩子,待项目上传到gitee后触发HooKs进行pull。
环境介绍:Linux服务器+宝塔面板、php脚本钩子、git Https请求方式
开始
1.安装git
1 | // 在终端中输入命令 |
2.配置记录git账号密码
创建文件
在~/下, 使用touch创建文件 .git-credentials文件,例 touch .git-credentials
用vim编辑此文件,命令如下
vim .git-credentials
编辑文件具体内容
https://{username}:{password}@{git链接地址}
在终端下执行以下命令
1
git config --global credential.helper store
3.设置Linux免输入密码使用sudo
先检查/etc/sudoers文件权限是否允许修改,如果权限不足请先开启权限
1
2// 开启权限命令
chmod 777 /etc/sudoers使用 “vim /etc/sudoers” 加入git命令免密
进入后按 i 编辑文件,新增加 www ALL= NOPASSWD:/usr/bin/git
修改完成后按 Esc 然后输入 :wq 保存并退出
4.克隆项目
进入www文件下执行命令,具体文件放在那根据自己需求来。第一次需要输入用户名密码,第二次则不需要输入,执行完以后可以在执行git pull进行测试是否还需要输入密码,如果需要输入则表示前面配置并为成功。
1 | git clone 你的项目地址 |
5.php执行钩子命令
gitee支持请求带密码、秘钥,这里只提供最简单获取方式。
1 |
|
6.取消php禁用函数exec
注意
1.sudo是使用系统管理员身份执行命令,我们知道在linux中使用sudo执行时是需要输入root[管理员]密码的。但是我们使用PHP的exec执行时并没有办法输入密码。这时候怎么办呢?其实linux中有办法让某些命令的执行使用sudo而免输入密码
2.因为我们的PHP执行其实是使用的www用户。这个我们是可以自行设置的。默认都是www用户。那么PHP中执行git也是使用www用户。让www用户免密码执行git的语句