• git hook部署代码


    git 提供了钩子功能,当某个操作发生时,可以执行某个动作。

    ftp上传时没有文件比较,虽然可以winscp提供了同步功能但是不够强大,而且文件多了,会花费比较长的时间。

    1、先在主机上搭建一个git服务器,可以参考前篇文章

    2、修改post-receive

    切换到git仓库,比如

    cd /var/sample.git & ls

    可以发现git已经给我们建好了hooks目录,并提供了模板。

    进入hooks目录,vi post-receive

    #!/bin/sh
    git --work-tree=网站文件夹路径 --git-dir=/var/sample.git checkout -f

    保存,chmod +x post-receive。

    这一步会检出最新的代码,且没有.git目录。

    注意,网站文件夹要存在,如果不存在会提示work-tree错误,创建这个相应目录即可。

    3、修改网站文件夹权限

    chown -R git:apahce 网站文件夹路径

    如果用的是nginx请换成相应的用户组。

    漏掉这一步会出现,“git checkout-index: unable to create file (Permission denied)”错误。

    现在可以试试用git部署代码了。

    github也提供了hook功能,不过还得在写相应的脚本,如果自己有服务器,可以直接在服务器上建一个git。

    参考了此文

  • 相关阅读:
    DTDebug的使用
    金字塔原理
    C/C++ 加快项目编译速度
    C/C++ C++11 enum class
    微信公众平台 第三方平台
    Protobuf根据.proto文件在运行期生成message
    工具 Bazel
    计算机网络 OAuth
    计算机网络 WebSocket
    C/C++ 函数默认参数
  • 原文地址:https://www.cnblogs.com/xdao/p/git_hook.html
Copyright © 2020-2023  润新知