zoukankan      html  css  js  c++  java
  • gitlab hooks 钩子实现服务器代码同步至文件夹

    gitlab版本:12.3.1 

    一个push动作,先后会执行【pre-receive】【update】【post-receive】

    先执行

    /opt/gitlab/embedded/service/gitaly-ruby/git-hooks

    中的钩子脚本(shell),其中的脚本会进一步执行

    /opt/gitlab/embedded/service/gitaly-ruby/gitlab-shell/hooks

    中的脚本(ruby脚本),其中的脚本会进一步检测执行对应项目的custom_hooks【在<>.git/custom_hooks】

    /var/opt/gitlab/git-data/repositories/@hashed/d4/73/d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35.git/custom_hooks

    custom_hooks/post-receive

    #!/bin/bash
    echo "开始文件夹同步"
    CADENCE_DIR=/opt/cadence
    git --work-tree=$CADENCE_DIR checkout -f
    echo "文件夹同步完成"

    /opt/gitlab/embedded/service/gitaly-ruby/gitlab-shell/hooks/post-receive 文件中添加如下代码通过push查看正在操作的仓库

    print "gitlab-shell ruby "
    puts gl_repository
    puts repo_path
    puts key_id
    puts refs
    puts push_options
    

      

  • 相关阅读:
    Liunx cal
    Liunx read
    IOS
    IOS
    ARPSpoofing教程(四)
    ARPSpoofing教程(三)
    ARPSpoofing教程(二)
    数据结构与算法分析
    hdu 2034
    hdu 2042
  • 原文地址:https://www.cnblogs.com/guanglun/p/11586222.html
Copyright © 2011-2022 走看看