Gitee仓库+宝塔WebHook实现线上与仓库代码同步更新

 

本文由 ChatMoney团队出品

进行以下操作时,请确保已经在gitee添加了SSH公钥(Gitee个人设置->SSH公钥)

  1. 宝塔上安装WebHookfe1c141a-b52e-493a-ac1b-dd76e7a16ed0

  2. 找到WebHook,点击设置,点击添加,名称自行根据项目填写,脚本填写以下代码:

    #!/bin/bash
    echo ""
    # 输出当前时间
    date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
    echo "Start"
     
    # git项目路径(这里根据自己的项目路径进行修改)
    gitPath="/www/wwwroot/test"
    # git网址(这里根据自己的Git地址进行修改)(ssh的地址||http地址)
    gitHttp="https://gitee.com/out-of-town/test.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 "拉取最新的项目文件"javascript:;
            sudo git reset --hard origin/master
            sudo git pull       
            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

    Gitee仓库+宝塔WebHook实现线上与仓库代码同步更新

  3. 点击查看密钥,获取密钥:5d9cd8de-d60a-4702-b276-435cbe1c0850

  4. 来到Gitee仓库,添加WebHooks,把密钥和url填进去,点击添加:

05c088c6-586f-4b41-ae04-fe3c8ac764fd

7b24cf45-1153-435f-bb46-fa356a151904

请注意,为了保证安全性,你可能需要在服务器上设置防火墙规则,允许Gitee的IP地址访问你的宝塔面板端口。同时,确保你的WebHook密钥是安全的,不要泄露给其他人。

关于我们

本文由ChatMoney团队出品,ChatMoney专注于AI应用落地与变现,我们提供全套、持续更新的AI源码系统与可执行的变现方案,致力于帮助更多人利用AI来变现,欢迎进入ChatMoney获取更多AI变现方案!

ChatMoney的头像ChatMoney
上一篇 2024年 6月 7日 下午3:51
下一篇 2024年 6月 12日 上午10:25

相关推荐

  • 乐观锁与悲观锁在MySQL中的应用

    本文由 ChatMoney团队出品 在数据库管理系统中,锁机制是保证数据一致性和并发控制的重要手段。MySQL,作为广泛使用的数据库系统之一,提供了多种锁策略来处理并发访问时可能引发的数据不一致性问题。其中,乐观锁和悲观锁是两种截然不同但又互补的并发控制策略,它们在不同的应用场景下发挥着各自的优势。本文将深入探讨MySQL中的乐观锁与悲观锁概念、工作原理及实…

    2024年 8月 7日
    84
  • 浅谈工厂模式

    本文由 ChatMoney团队出品 掌握优秀的设计模式,可以显著提高我们的技术能力。此外,它还能让我们编写的代码更加优雅,减少错误,并更好地扩展和维护项目。 基础知识 简单工厂模式 简单工厂模式(Simple Factory Pattern)指的是一个工厂类根据传入的参数来决定创建哪一种产品类的实例。尽管这种模式简单,但它违反了开放封闭原则,因为每增加一个新…

    2024年 7月 23日
    81
  • PHP单例模式详解及应用

    本文由 ChatMoney团队出品 在PHP开发中,我们经常会遇到一些对象需要在整个应用程序中共享的情况。例如,数据库连接、缓存等资源。这时候,我们可以使用单例模式来确保这些资源只被创建一次,并且在程序的任何地方都可以访问到。 什么是单例模式? 单例模式(Singleton Pattern)是一种设计模式,它保证一个类只有一个实例,并提供一个全局访问点。这种…

    2024年 7月 30日
    50
  • 你写的深度克隆真的“深度”吗?

    本文由 ChatMoney团队出品 深度克隆是前端开发中无法避免的话题,几乎每个前端开发者都遇到过这个话题,那我们就来看看你写的深度克隆真的正确吗? 大家先看下面这段代码: 平时开发中用这个方法或者过去用过这个方法去“深度克隆”的同学请举手🙋,我相信应该不在少数。也不是说这个方法是错的,它其实在绝大多数场景都能用,但是在一些复杂场景就会有问题,比如下面这几个…

    2024年 8月 1日
    88
  • TypeScript中never类型的妙用

       本文由 ChatMoney团队出品 妙用一   当我们在一个项目中,可能会去改动一个在整个项目中应用很广泛的函数的参数类型,但是可能由于代码量比较庞大,我们不好排查改了之后哪些地方会出现问题,此时我们可以使用never类型来辅助我们的函数,当我们在原有的类型基础上添加了新的类型时,可能会导致else分支中的代码逻辑出现问题,此时我们…

    2024年 6月 12日
    121

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信