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"