宝塔 自动同步Gitee仓库

需求
前后端代码每次在更新时,总要提交代码,想着有没有云效流水线那种模式,能同步代码。故用宝塔 + WebHook + Gitee来完成此操作。

一、WebHook

在宝塔的商店面板下载WebHook,安装后。添加Hook。名称任选,执行脚本在网上找了一个:

PS: 其中gitHttp中的xxx替换为自己gitee上的地址,比如我的主页为 https://gitee.com/acardia_liu,则我把xxx替换为acardia_liu即可。

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/$1"
#git 网址
gitHttp="https://gitee.com/xxx/$1.git" //xxx替换为自己仓库的链接
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                sudo git clone $gitHttp gittemp
                sudo mv gittemp/.git 
                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
else
        echo "该项目路径不存在"
                echo "新建项目目录"
        mkdir $gitPath
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                sudo git clone $gitHttp gittemp
                sudo mv gittemp/.git .
                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

在这里插入图片描述

提交后,点击查看秘钥:

框起来的部分,在Gitee项目配置WebHook时会要到,param后面的参数为Gitee项目的仓库名,比如我的项目为test-webhooks,则将aaa替换为test-webhooks。
在这里插入图片描述

二、Gitee项目配置WebHook
项目添加WebHook

点击添加后,需填写如下参数:

URL填写WebHook中框起来的部分,param后面的参数为Gitee项目的仓库名。密码可以不用填。

三、安装Git
yum -y install git
1
因为我配置了,无法重现,使用一下别人配置的代码:

git config --global user.name “用户名”
git config --global user.email “邮箱”
git config --global credential.helper store

//会生成.gitconfig 的文件,查看
cat ~/.gitconfig //显示内容

[user]
name = 输入的用户名
email = 输入的邮箱
[credential]
helper = store
// 假设你已经设置好origin并已拉取过代码
// 第一次pull会提示输入用户名密码
[root@iZ25mi9h7ayZ test]# git pull
Username for ‘https://gitee.com’: xxxx@xxxx.com
Password for ‘https://xxxx@xxxx.com@gitee.com’:输入正确密码(看不到输入内容)
//生成.git-credentials 隐藏文件
cat ~/.git-credentials
https://Username:Password@gitee.com
// 看到这个说明已经设置成功

vi ~/.git-credentials
//可加多个用户名密码

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
配置完成后,在wwwroot目录下,克隆自己的仓库(此处的文件目录应与gitee上的目录保持一致)。

git clone https://gitee.com/acardia_liu/test-webhooks.git
1
测试:在Gitee项目上添加一个文件,看服务器是否进行同步处理。发现并没有同步代码,然后在test-webhooks目录中执行git pull时,提示:git config --global --add safe.directory /www/wwwroot/test-webhooks

因为git进行了版本升级,添加了新的目录安全限制。会造成在进行git常规操作或者在各类编辑器中无法发现.git文件。
解决:

忽略单个目录,以后每个目录都要执行以下命令,否则无法同步数据。
git config --global --add safe.directory /www/wwwroot/test-webhooks
1
忽略全部文件夹。不适用于有多个用户的电脑,否则存在安全问题
git config --global --add safe.directory “*”
1
解决完毕后,再执行git pull 看是否执行成功。
在Gitee项目新建文件fff,看是否同步成功。

增加文件成功!

再试试删除test文件:

删除成功!

webHook日志上也成功显示:

————————————————
版权声明:本文为优快云博主「Acardia_Liu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_43351090/article/details/130013191

### 勾股OA安装教程及相关错误解决方案 #### 一、CentOS环境下勾股OA的安装过程 在 CentOS 环境下,可以通过宝塔面板配合 Nginx 来完成勾股 OA 的部署。以下是具体的安装流程: 1. **安装宝塔面板** 使用 `yum` 工具下载并执行宝塔面板的安装脚本: ```bash yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec [^1] ``` 2. **克隆项目代码至服务器** 进入 `/www/wwwroot/` 目录后,先确保已安装 Git 工具,再通过 Git 下载勾股 OA 的源码: ```bash cd /www/wwwroot/ yum install -y git git clone https://gitee.com/gougucms/office.git chmod -R 777 /www/wwwroot/office [^2] ``` 3. **安装 PHP 依赖包** 切换到项目的根目录,并运行 Composer 安装命令来加载必要的 PHP 库: ```bash cd office composer install ``` 如果上述命令因网络原因失败,则可更换为阿里云镜像源后再重试: ```bash composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ composer install [^2] ``` --- #### 二、Windows环境下勾股OA的安装概述 对于 Windows 平台上的用户,同样可以借助宝塔面板实现快速搭建。具体操作步骤与 Linux 类似,主要区别在于操作系统自带工具链的不同。 - 需要提前确认本地已经安装好支持 LAMP/WAMP 架构所需的软件组件(如 Apache/Nginx 和 MySQL 数据库),以及 PHP 开发环境。 - 同样需要利用 Git 将远程仓库中的勾股 OA 源码拉取下来,并按照官方文档调整站点路径配置文件等内容 [^3]。 --- #### 三、常见问题及其解决方法 1. **无法访问 Gitee 地址** 当尝试从 Gitee 获取资源时发生超时或者连接中断的情况,可能是由于网络波动引起。建议多次重复该指令直到成功为止;另外也可以考虑手动打包上传的方式代替在线同步模式。 2. **Composer 执行缓慢甚至卡死** 若发现 `composer install` 步骤耗时过久或中途停滞不前,这通常是因为默认国外镜像速度较慢所致。此时应该及时切换为中国区加速节点地址作为替代选项之一。 3. **权限不足报错** 对于某些特定场景下的读写受限现象,比如修改数据库表结构时报权限不够之类的提示信息,则需重新审视当前用户的实际授权范围是否满足最低需求标准。必要情况下给予目标文件夹完全控制权即可消除此类障碍。 ```bash chmod -R 777 /指定路径名/ ``` 以上即为针对勾股 OA 整体部署过程中可能遇见的一些典型难题所提出的对应处理措施说明。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赤胜骄阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值