宝塔webhook与Gitee配置实现服务器的代码同步更新

宝塔webhook与Gitee配置实现服务器的代码同步更新
1.安装git
宝塔默认已经安装了git
若没有安装,则:

yum install git

2.配置公钥
查看是否有公钥查看~/.ssh下的id_rsa.pub
若没有配置生成

ssh-keygen -t rsa 

查看公钥,获取密钥

cd ~/.ssh
ls
cat id_rsa.pub

在这里插入图片描述在这里插入图片描述3.为gitee仓库添加公钥
在这里插入图片描述

4.宝塔软件商城里安装使用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/wanbo"
#git 网址
gitHttp="git@gitee.com:wanbo/wanbotest.git"

echo "Web站点路径:$gitPath"
 
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                git clone $gitHttp gittemp
                mv gittemp/.git .
rm -rf gittemp
        fi
        #拉取最新的项目文件
        #git reset --hard origin/master
        git pull
        #设置目录权限
        #chown -R www:www $gitPath
        echo "End"
        exit
else
        echo "该项目路径不存在"
        echo "End"
        exit
fi

只需要修改git项目路径和网址

看网上说有些人代码放进去了会被过滤,大家添加好后点击编辑再确认一下,如果被过滤就再把代码复制进去然后保存

确认没有问题,重启一下宝塔。最好连接服务器执行命令,如果在宝塔终端执行,容易重启失败,需要重新服务器,重新执行命令。

/etc/init.d/bt restart

查看宝塔hook密钥,复制绿色框里的内容
在这里插入图片描述5.配置Gitee的WebHooks
在这里插入图片描述
在这里插入图片描述
6. 将gitee代码clone到服务器本地目录
在服务器终端配置git

git config --global user.name "用户名"
git config --global user.email "邮箱"
git config --global credential.helper store //会生成.gitconfig 的文件
cat .gitconfig   //如果报错: No such file or directory,就用下一行的代码
cat ~/.gitconfig  //显示内容

执行后显示
在这里插入图片描述进入到 www/wwwroot 目录下 clone

git clone https://gitee.com/XXX/XXX.git  //clone后面是下载链接

第一次clone可能需要输入用户名和密码,需要注意哈。
当clone成功后,就已经是配置好了,可以在自己电脑上传文件到配置的仓库,检查下宝塔界面的文件里仓库目录下有没有自动更新刚上传的文件

也可以在gitee管理 webhooks手动触发测试。
在这里插入图片描述然后在宝塔的webhook查看日志
在这里插入图片描述测试日志出现红框内容说明成功啦!
在这里插入图片描述

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
下面是一个简单的 Spring Boot 控制器,用于响应 Shopify 的 Webhook 通知: ```java @RestController public class ShopifyWebhookController { @PostMapping("/webhooks/orders/create") public ResponseEntity<String> handleOrderCreate(@RequestBody String payload, @RequestHeader("X-Shopify-Topic") String topic) { if ("orders/create".equals(topic)) { // 处理订单创建通知 // 解析 payload 并处理相应的业务逻辑 return ResponseEntity.ok("Received order create notification."); } return ResponseEntity.badRequest().build(); } @PostMapping("/webhooks/orders/updated") public ResponseEntity<String> handleOrderUpdate(@RequestBody String payload, @RequestHeader("X-Shopify-Topic") String topic) { if ("orders/updated".equals(topic)) { // 处理订单更新通知 // 解析 payload 并处理相应的业务逻辑 return ResponseEntity.ok("Received order update notification."); } return ResponseEntity.badRequest().build(); } // 处理其他 Shopify 的 Webhook 通知 } ``` 在这个示例中,我们为 Shopify 的订单创建和更新事件创建了两个 POST 路由。当 Shopify 向这些路由发送通知时,控制器中的相应方法将被调用。请求的正文将作为字符串传递给 `@RequestBody` 参数,而 `X-Shopify-Topic` 标头将包含 Shopify 发送的通知主题。 为了使该控制器能够接收 Shopify 的 Webhook 通知,我们需要将公共网址(例如 ngrok 或 Heroku 提供的网址)添加到 Shopify 中。在 Shopify 后台中,我们需要转到“通知”设置,并在“Webhook”选项卡下创建相应的 Webhook。在创建 Webhook 时,我们需要提供 Webhook 的目标 URL(即我们的 Spring Boot 控制器的 URL)和要接收的通知类型。注意,我们需要使用 HTTPS 协议提供 URL。 下面是一个简单的 Webhook 创建示例,用于为 Shopify 的订单创建事件创建 Webhook: ```shell curl -X POST \ https://my-shop.myshopify.com/admin/api/2021-04/webhooks.json \ -H 'Authorization: Basic M2...Nk=' \ -H 'Content-Type: application/json' \ -d '{ "webhook": { "topic": "orders/create", "address": "https://my-app.com/webhooks/orders/create", "format": "json" } }' ``` 此代码将在 Shopify 中创建一个 Webhook,用于在订单创建时向 `https://my-app.com/webhooks/orders/create` 发送通知。在实际使用中,我们需要将 `address` 参数替换为我们应用程序的公共 URL。 需要注意的是,我们还需要将 Shopify API 的访问令牌提供给我们的应用程序,以便我们可以访问 Shopify 的 API 并处理 Webhook 的通知。在此示例中,我们将访问令牌作为 HTTP 授权标头的基本身份验证凭据传递。但是,为了更安全地处理凭据,我们建议使用 OAuth 认证流程来获取访问令牌。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值