码云gitee+宝塔webhook实现同步代码

码云gitee+宝塔webhook实现同步代码

1. 服务器端

1.1 登录服务器,输入命令查看密钥:

cd ~/.ssh

ls

在这里插入图片描述

1.2 生成公钥/私钥:

# ed25519:密钥名称 xxxxx@xxxxx.com:邮箱(仅用于标识)
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"  

在这里插入图片描述
在这里插入图片描述

1.3 复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。

在这里插入图片描述
在这里插入图片描述
1.4 添加后,在终端中输入:

ssh -T git@gitee.com

添加成功后,就可以使用SSH协议对仓库进行操作了。

2. 宝塔控制面板

2.1 宝塔安装 webhook
在这里插入图片描述
2.2 添加 webhook 回调脚本

#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始-------"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then 
          echo "param参数错误"
          echo "End"
          exit
fi
#服务器 git 项目路径
gitPath="/www/wwwroot/项目目录"
#码云项目 git 网址,如:git@gitee.com:wangqianshun1/xxx.git
gitHttp="必须是ssh地址"
 
echo "路径:$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 clean -f
        git pull origin master
        echo "拉取完成"
        #执行npm
        #执行编译
        #npm run build
        #设置目录权限
        chown -R www:www $gitPath
        echo "-------结束--------"
        exit
else
        echo "该项目路径不存在"
        echo "End"
        exit
fi

在这里插入图片描述
2.3 添加成功后查看密钥,并复制密钥 和 host 地址:
在这里插入图片描述

3. 码云

3.1 添加webhook,将复制的 密钥 和 host 地址填写进下方:

qcYkCtHESuXFrJHDLSVNz1Xq8zjLnph

http://xxx:8888/hook?access_key=qcYkCtHESuXFrJHDLSVNz1Xq8zjLnphlyS&param=aaa

在这里插入图片描述
3.2 进行测试:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值