Git+码云+宝塔webhook 实现把码云上的项目自动同步到web服务器上

通过宝塔的webhook插件,实现把码云上的项目自动同步到web服务器指定路径下

第一步:确保web服务器里安装了git 可通过git –version查看

 

 第二步:进入宝塔面板,软件管理-》宝塔插件,搜索wekhook,然后安装即可

 

 第三步:添加hook

 

 

 

 执行脚步内容:

#!/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/learn_codel"
#git 网址 地址很重要 不能是https的地址
gitHttp="git@gitee.com:yifeizhongtian/learn_codel.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

 

 

 

 

接下来就是在码云等平台里做配置了,这里以码云为例

最关键的是,先让代码库改为公共的,等提交成功之后,在改成私有的,不然代码会提交不成功,会提交到码云上,但是没办法同步到指定的服务器

打开码云仓库,添加WebHooks

 

 

 

 添加成功,之后代码的关联,就处理成功了

在本地链接git 

Git 全局设置:

git config --global user.name "##"
git config --global user.email "1033608635@qq.com"

 上传代码到gitee库中

mkdir learn_codel
cd learn_codel
git init 
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/yizhongtwian/learn_codel.git
git push -u origin "master"

  

 

posted on 2022-11-28 17:45  kevin_yang123  阅读(506)  评论(0编辑  收藏  举报