当前位置:   article > 正文

码云私有仓库+宝塔面板部署WebHooks实现代码同步_码云 + 宝塔 webhook 部署

码云 + 宝塔 webhook 部署

权限问题,要分清楚两个帐号的权限www和root

sudo -u www ssh -T git@gitee.com
sudo -u root ssh -T git@gitee.com
  • 1
  • 2

看清楚是用那个,建议用WWW帐号权限,不能用ROOT权限(最高权限不建议)

所以生成SSH是要注意要用那个帐号来生成:

一、root权限

生成钥匙代码:

ssh-keygen -t rsa -C “xxxxx@xxxxx.com”
  • 1

这个方式生成的钥匙默认是ROOT帐号生成,生成路径:/root/.ssh
查看公钥:

cat /root/.ssh/id_rsa.pub
  • 1

二、www权限

生成钥匙代码:

sudo -u www ssh-keygen -t rsa -C "xxx@xxx.com" 
  • 1

一直回车,生成秘钥成功,如下图
在这里插入图片描述
这个方式就是www帐号生成的权限,生成路径:/home/www/.ssh
查看公钥:

cat /home/www/.ssh/id_rsa.pub
  • 1

三、添加公钥

登录码云,找到需要部署的项目,把刚刚生成的公钥添加到码云上
在这里插入图片描述

四、测试是否能连接码云

//分清楚用那个权限
//root
ssh -T git@gitee.com
sudo -u root ssh -T git@gitee.com
 
//www
sudo -u www ssh -T git@gitee.com
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

链接成功如下图
在这里插入图片描述
通过宝塔的webhook插件,实现把码云上的项目自动同步到web服务器指定路径下

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

git --version
  • 1

进入宝塔面板,软件管理-》宝塔插件,搜索wekhook,然后安装即可
添加webhook

脚本内容:
CentOS Git+码云+TP 宝塔webhook 实现把码云上的项目自动同步到web服务器(git@gitee.com: Permission denied (publickey).报错解决)_第4张图片

脚本代码:

# !/bin/bash
echo ""
# 输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始-------"
# 判断宝塔 WebHook 参数是否存在
if [ ! -n "$1" ];
then
          echo "param参数错误"
          echo "-------结束-------"
          exit
fi
# web服务器 git 项目路径
gitPath="/www/wwwroot/xxxxx"
# 码云项目 SSH 网址 (重点: 千万不要用 https 地址)
gitHttp="git@gitee.com:xxx/xxxxx.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 "-----拉取成功-----"
        exit
else
        echo "该项目路径不存在"
        echo "-------结束-------"
        exit
fi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

注意:添加完后,点击编辑查看脚本内容是否正确,在上图输入框输入的命令会被过滤,所以要重新添加shell命令进去

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

  1. 打开码云仓库,添加WebHooks

  2. 设置私有仓库代码同步

更改宝塔hook脚本中的仓库地址为码云私有项目仓库的SSH连接地址

至此完毕,如果不成功,可以尝试更新一下webhook

在这里插入图片描述

宝塔面板webhook用git pull拉取远程代码失败解决方案

登录xshell之后重启一下宝塔服务

bt restart
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/761296
推荐阅读
相关标签
  

闽ICP备14008679号