宝塔系统,gitea,私有库webhook自动同步用法

本文详细介绍了如何在宝塔上安装Gitea和Webhook,以及如何配置自动同步功能,涉及私钥管理、权限设置、错误排查和安全性问题的处理。
摘要由CSDN通过智能技术生成

前言:安装了宝塔系统,gitea和webhook都是通过宝塔的插件安装的。

1、准备工具

1.1gitea安装

宝塔软件商店搜索,一键安装。

需要准备一个数据库,访问的时候需要带上端口号,具体的细节可以去自行搜索,不是很难。

备注:做了反向代理(包括端口号)后,克隆地址带有端口号,修改gitea的一个配置文件(config/app.ini中的ROOT_URL,好像是这个参数,配置的有些久了,忘了)中的地址生成参数。

1.2webhook安装

宝塔软件商店搜索,一键安装。

备注:我安装的是webhook2.4,添加密钥后会有一串乱码,实际上是&para,m是正常显示的。

2、自动同步

$1:param带过去的参数。经测试,用WWW.XXX.COM来当$1参数,会出错。可以考虑克隆的时候,用别名来创建项目文件夹。

#!/bin/bash

#私有库载入私钥
sudo ssh-agent bash
sudo ssh-add ~/.ssh/id_rsa
sudo ssh-add -l |cat
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="/你的路径/$1"
#git 网址两种方式都可以ssh 或者https
gitHttp="https://gitea路径/$1.git"
echo "Web站点路径:$gitPath,git地址:$gitHttp"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
  cd $gitPath
  #判断是否存在git目录
  if [ ! -d ".git" ]; then
    echo "在该目录下克隆 git"
    sudo git clone $gitHttp gittemp
    sudo mv gittemp/.git .
    sudo mv gittemp/* .
    sudo rm -rf gittemp
  fi
  echo "拉取最新的项目文件"
  #sudo git reset --hard origin/master
  #sudo git pull
  sudo -u root git pull
  echo "设置目录权限"
  sudo chown -R www:www $gitPath
  echo "End"
  exit
else
  echo "该项目路径不存在"
  echo "新建项目目录"
  mkdir $gitPath
  cd $gitPath
  #判断是否存在git目录
  if [ ! -d ".git" ]; then
    echo "在该目录下克隆 git"
    sudo git clone $gitHttp gittemp
    sudo mv gittemp/.git .
    sudo mv gittemp/* .
    sudo rm -rf gittemp
  fi
  echo "拉取最新的项目文件"
  #sudo git reset --hard origin/master
  sudo git pull
  echo "设置目录权限"
  sudo chown -R www:www $gitPath
  echo "End"
  exit
fi

3、配置gitea里面的账号公钥

cd ~/.ssh

打开id_rsa.pub,复制里面的内容,添加到你的gitea账号配置里面去。

4、测试

gitea,项目=》设置=》web钩子=》添加钩子

填写webhook添加密钥后的地址,密钥,然后最下方有个“测试推送”。

ide克隆了gitea项目,然后随意修改一下,上传并推送,也可以测试成功与否。

5、错误排查

5.1、密钥长度不够

ssh-keygen 命令,-b用于指定生成的密钥长度

5.2、同步代码排错

进入服务器,然后把同步代码一步一步的执行下来,根据错误信息排错。

5.3、git pull时提示的安全性问题

发现同步不了,但是第一次git clone是成功的,于是一步一步操作下来,服务器错误提示:safe.目录。临时解决方案就是:按照shell上显示的解决方案,运行一下。网上说是文件拥有者的问题。有知道怎么解决的,可以分享一下。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值