美文网首页
Git系列(三)自动化部署

Git系列(三)自动化部署

作者: 杂货铺学徒 | 来源:发表于2018-03-13 09:51 被阅读17次

    对于已经搭建好了的git服务器,现在需要实现在用户push时,将项目自动部署到服务器上,例如将上个教程中的/git/sample.git部署到/public/sample/下,这就要利用git的hooks中的post-receive来实现代码提交完成之后的动作。将仓库指定一个--work-tree然后进行检出操作checkout --force

    具体步骤:

    新建sample文件夹,并给777权限。

    $ cd /public
    $ mkdir sample
    $ chmod -R 777 sample/
    

    进入/git/sample.git/hooks,并将post-receive.sample复制一份post-receive,并且编写代码如下

    # 指定我的代码检出目录
    DIR=/public/sample/
    git --work-tree=${DIR} clean -fd
    # 直接强制检出
    git --work-tree=${DIR} checkout --force
    

    保存退出即可。

    注意点

    1. 如果我们没有配置ssh免密码登陆的话,我们需要在push代码的时候输入密码
    2. 如果我们添加的远程仓库不是root@xxx.xxx.xx.xx,例如是abc@xx.xx.xx.xx,那么我们要确保abc用户对wx.git目录下的文件有777权限。

    由于Git系列(一)Git服务器搭建已经设置了免密登陆,所以大胆push吧

    相关文章

      网友评论

          本文标题:Git系列(三)自动化部署

          本文链接:https://www.haomeiwen.com/subject/ysvnfftx.html