github 私有仓库linux下免输入账号密码
cd ~/
touch .git-credentials
vim .git-credentials
内容为:
https://{username}:{password}@github.com
比如 https://account:[email protected]
git config --global credential.helper store
验证是否成功:
cat ~/.gitconfig
如果成功会出现:
[credential]
helper = store
用php部署代码
扩展: 在部署github ,在nginx 的www 用户下,运行git pull 无效,应该在root 用户下授予权限:
chown -R www 你的文件目录
但是在www 用户去拉代码的时候,还是需要username 和password 验证,而且账号密码我们存在root 用户目录下,我们想到的是用sudo去执行命令
创建一个index.php&& 确保php.ini 开启了shell_exec()
<?php
var_dump(shell_exec('sudo sh hook.sh'));
当然你可以在php 这个文件中进行验证;
编辑hook.sh
cd object #进入你要执行git pull 的目录
git pull #即可,如果你确定git 命令可不可以 git --version 即可,如果没有出现版本,请chown 给www权限
如何使www 具有sudo 权限:(很关键)
vim /etc/sudoers
在 root ALL=(ALL) ALL 下面添加:
www ALL=(root) NOPASSWD:ALL
如此这般,即可。围绕着权限的思维去做