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

1.服务器

首先登录服务器 输入命令cd ~/.ssh

ls查看有没有SSH key

如果没有,使用命令ssh-****** -t rsa -C "xxxx@xxx.com"生成。如下图所示 (你自己的邮箱)

创建成功后,命令 cat id_rsa.pub 查看 秘钥

复制好id_rsa.pub文件内容后,打开码云的私有项目,依次点击:管理->添加公钥,如图:

 

在码云上添加好公钥后,在服务器上 使用ssh -T git@gitee.com测试SSH连接:

2、宝塔控制面板

在宝塔上安装webhook 》软件管理》搜索下载

​​​​​​

webhook》设置》添加hook

执行脚本代码

#!/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 网址
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

注意:点击编辑查看脚本内容是否正确

  1. 查看秘钥

 

 

3、打开码云仓库,添加WebHooks

上图位置对应填入   (1-1,    2-2)

测试 (如图证明成功了)

 

 

 

 

 


版权声明:本文为qq_33212312原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。