提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 背景
- 1、介绍一下Webhook
- 2、使用步骤
- 1.安装git
- 2.安装WebHook
- 3.添加WebHook
- 4.配置git 钩子 (码云示例)
- 5.私有项目还需要做以下操作
 
背景
最近想自己写一个博客站,分享一下如何使用 webhook自动拉取码云代码。
1、介绍一下Webhook
Webhook是一个API概念,并且变得越来越流行。我们能用事件描述的事物越多,webhook的作用范围也就越大。Webhook作为一个轻量的事件处理应用,正变得越来越有用。
准确的说webhook是一种web回调或者http的push API,是向APP或者其他应用提供实时信息的一种方式。Webhook在数据产生时立即发送数据,也就是你能实时收到数据。这一种不同于典型的API,需要用了实时性需要足够快的轮询。这无论是对生产还是对消费者都是高效的,唯一的缺点是初始建立困难。
Webhook有时也被称为反向API,因为他提供了API规则,你需要设计要使用的API。Webhook将向你的应用发起http请求,典型的是post请求,应用程序由请求驱动。
2、使用步骤
1.安装git
登录服务器 执行 git --version 查看是否已经安装, 如果没有执行yum install git 安装
2.安装WebHook
	进入宝塔面板,依次进入:软件管理->宝塔插件,在列表里可以看到宝塔WebHook插件,点击后面的安装
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="http://git.xxxxx.com/$1.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
点击提交后
 
 组成的链接是这样的: http://面板Ip加端口/hook?access_key=密钥¶m=项目在/www/wwwroot/目录下的目录
4.配置git 钩子 (码云示例)

 点击提交测试
 
 返回结果是
 表示成功
5.私有项目还需要做以下操作
- 生成ssh公钥
 . 服务器 输入命令cd ~/.ssh && ls查看有没有SSH key ,是否存在下图两个文件
  
 如果没有 ,用命令ssh-keygen -t rsa -C "your_email@example.com"生成
 三步回车 然后 用命令cat id_rsa.pub查看证书内容 复制
  
  
 添加好公钥 使用命令ssh -T git@gitee.com测试链接
  
 将地址换码云项目地址即可

![[数字图像处理]第四章 频率域滤波](https://img-blog.csdnimg.cn/b4a8edd4b3e84cef9de4984c21a5abb8.png)









![[创业之路-68]:科创板上市公司符合哪些条件](https://img-blog.csdnimg.cn/img_convert/abfc5dfbc4304c9f9e5b93e7f5bf067f.jpeg)




