服务器添加git钩子的步骤

来自:网络
时间:2023-01-06
阅读:
目录

    又名git 宝塔 码云 webhook钩子自动同步

    第一步,在服务器下载,软件,webhook。

    第二步,查看git版本,不能太低。

    这个太低了。

    服务器添加git钩子的步骤

    这个最新

    服务器添加git钩子的步骤

    第三步,

    yum remove git 删除git

    yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm git最高版本

    yum install git重新下载git最高版本

    git config --global user.name XXX 邮箱名称

    git config --global user.email XX@XX.com 邮箱账号

    第四步,

    配置码云和服务器ssh

    -服务器要开放22端口

    https://baidu.physton.com/?q=%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%BC%80%E6%94%BE%E7%AB%AF%E5%8F%A3%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D

    云服务22端口:https://blog.csdn.net/qq_46311811/article/details/122233509

    公钥对添加(很重要):https://gitee.com/help/articles/4181#article-header0

    暂时只支持一个码云账号同步生成公钥对

    ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com" 这个就是公钥对

    cat /root/.ssh/id_ed25519.pub 这个是获取公钥对

    第五步:git配置webhook。(WebHook)

    服务器添加git钩子的步骤

    服务器添加git钩子的步骤

    下面peng哥的!!!

    git 宝塔 码云 webhook钩子自动同步
    linux git 安装
    centos8.0 以上 yum源自带版本比较新的git 版本。
    如果是centos7 版本要下载git最新版本的话,要下载ius yum源。(或者编译安装)
    安装完成后可配置用户名和邮箱
    git --global config user.name  XXX
    git --global config user.email  xxx
    
    配置码云和服务器ssh
    -服务器要开放22端口
    
    暂时只支持一个码云账号同步
    生成公钥对
    ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com" //后面是邮箱 
    
    
    生成的公钥对在root/.ssh 里面
    复制公钥到码云上面
    git clone 到服务器
    cd /www/wwwroot/
    git clone git@gitee.com:fatcar/dmd_new.git 
    
    配置宝塔webhook
    #!/bin/bash
      
    echo ""
    #输出当前时间
    date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
    echo "Start"
    #判断宝塔WebHook参数是否存在
    if [ ! -n "$1" ];
    then 
              echo "param参数错误"
              echo "End"
              exit
    fi
    #git项目路径
    gitPath="/www/wwwroot/$1"
    #git 网址两种方式都可以ssh 或者https
    gitHttp="git@gitee.com:fatcar/$1.git"
    #gitHttp="git@gitee.com:xxx/$1.git"
    echo "Web站点路径:$gitPath"
    #判断项目路径是否存在
    if [ -d "$gitPath" ]; then
            cd $gitPath
            #判断是否存在git目录
            if [ ! -d ".git" ]; then
                    echo "在该目录下克隆 git"
                    sudo git clone $gitHttp gittemp
                    sudo mv gittemp/.git .
                    sudo rm -rf gittemp
            fi
            echo "拉取最新的项目文件"
            #sudo git reset --hard origin/master
            sudo git pull        
            echo "设置目录权限"
            sudo chown -R www:www $gitPath
            echo "End"
            exit
    else
            echo "该项目路径不存在"
            echo "新建项目目录"
            mkdir $gitPath
            cd $gitPath
            #判断是否存在git目录
            if [ ! -d ".git" ]; then
                    echo "在该目录下克隆 git"
                    sudo git clone $gitHttp gittemp
                    sudo mv gittemp/.git .
                    sudo rm -rf gittemp
            fi
            echo "拉取最新的项目文件"
            #sudo git reset --hard origin/master
            sudo git pull
            echo "设置目录权限"
            sudo chown -R www:www $gitPath
            echo "End"
            exit
    fi
    
    查看宝塔的密钥 配置码云上面的webhook
    测试是否成功
    分测试服务器和正式服务器(注意下分支)
    --- 参考链接
    
    https://www.itqaq.com/index/214.html
    https://gitee.com/help/articles/4229#article-header0
    https://www.cnblogs.com/jkko123/p/11620367.html
    -- 思考
    
    数据库配置文件要不要传到git(可以不用)因为如果在服务器上面新加文件,不会影响同步,可以手动添加数据库文件
    如果一些文件的权限需要777,会不会有影响。(待定)
    返回顶部
    顶部