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上,不用设置密码。

  • 相关阅读:
    RabbitMQ之Exchange(五)
    java classpath详解
    RabbitMQ之软件安装(一)
    RabbitMQ之概念介绍(二)
    RabbitMQ实战之Hello World(三)
    logback 控制台 自定义颜色
    hashmap
    linux学习记录 常用指令大全
    72.40个Android面试题(转载)
    break 的一个“高级用法”(转)
  • 原文地址:https://www.cnblogs.com/laijinquan/p/11688687.html
Copyright © 2011-2022 走看看