用web的方式实现项目的git拉取

日志 / 2001人浏览 / 0人评论

有时候在调试项目的时候,需要先在本地提交代码,后ssh登录服务器,在项目目录里拉取代码,挺麻烦的,所以通过一系列的配置和几段代码,实现了以web访问的方式实现项目的git拉取更新代码,方便很多

实现的步骤如下:

  1. 创建服务器www用户的SSH公钥, 在服务器执行

    sudo -Hu www ssh-keygen -t rsa



    公钥的内容在/home/www/.ssh/id_rsa.pub文件里。由于我用的是GitLab,随后就把公钥部署到GitLab上了,

  2. 接着在服务器上,使用www用户身份拉取代码。执行以下命令
     cd /www/wwwroot/test
        sudo -u www git pull origin master
    .git 文件夹权限不够,是因为这个文件夹是属于root,不属于www的,更改以下权限就好了
    chown -R www:www /www/wwwroot/test/
    

    sudo -u www git pull origin master

  3. 既然www用户有权限可以拉取代码了,尝试一下web方式吧,写一个php脚本(一定要确保php.ini禁用函数没有shell_exec),并使用web的方式访问它



  4. 结果显示已经更新过了,这次在本地项目目录增加一个文件ceshi.txt,提交推送,再次访问web链接,显示的结果是新增了一个ceshi.txt文件
  5. 这次简单的web方式实现项目git拉取就完成了,主要点在于git的执行权限。

















感谢博主,喝杯咖啡~

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我