zoukankan      html  css  js  c++  java
  • 宝塔利用git+ webhooks 实现git更新远程同步Linux服务器

    参考:

    https://blog.csdn.net/alipea/article/details/83858177

    https://www.bt.cn/bbs/thread-5348-1-1.html

    如果你发现码云上能正确触发但是却更新不了,那可能就是权限问题,具体要什么写webhook上的代码,请看:

    https://www.bt.cn/bbs/thread-7485-1-1.html

    我在这里做个总结吧,现在是2019年12月22号。

    其实根本不用公钥,也不用设置

    步骤:

    1.先在宝塔按照好webhook和git

    2.然后在你服务器上拉取代码,然后用命令更新确保是否能更新!

    3.然后编辑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 网址
    gitHttp="https://gitee.com/name/$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

    这里的代码加了sudo,意思是获取最高权限。

    记住!,这些设置完成之后记得重启宝塔面板!重启宝塔面板!重启宝塔面板!

    4.最好把你的项目文件夹的所有者设置为www。

    5.如图:

     网址记得带上端口号,就是你可以访问宝塔的端口号:ip:端口号,这里的access_key就是你的webhook的密钥,param是你项目的名字

    6.把你这个网址设置到码云-管理-webhook上,不用设置密码。

  • 相关阅读:
    “fatal error: hdf5.h: 没有那个文件或目录”解决方法
    算法狗的机器学习基础
    统计:假设检验 T检验
    各种排序和数据结构算法收藏
    知乎好书--入门神经网络和机器学习
    机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
    第八天 T3S04
    第七天 T3S03
    第六天T3S02
    T3S01
  • 原文地址:https://www.cnblogs.com/laijinquan/p/11688687.html
Copyright © 2011-2022 走看看