gitee自动同步到宝塔服务器-自动部署

news/2024/5/17 18:41:14 标签: gitee, git, github

准备工作:在宝塔应用商店中安装webhook,

在命令行中输入git --version看是否有安装git,如果没有,运行下面命令安装

 yum install git

一、创建公钥

cd ~/.ssh
ls
看是否有 id_rsa.pub 文件 如果没有,用下面命令生成证书

ssh-keygen -t rsa  -C "XXX@XXX.com"(XXX@XXX.com为你自己的git账号)

然后一路回车

生成完之后查看证书

cd ~/.ssh
ls
cat id_rsa.pub

二、添加公钥

git上添加公钥,我是企业版,在仓库设置-部署公钥管理

 三、宝塔安装webhook插件

进入宝塔软件商店,搜webhook 然后点安装

安装完之后进入设置页面

 下面是脚本文件

#!/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/git/$1"
#git 网址
gitHttp="git@gitee>gitee.com:xxx/$1.git" //自己仓库的链接
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
注意 你需要确认你的项目路径与仓库目录

$1是变量,通过GET获取的,后面传参传参再讲,如果你的站点名称与仓库名称不一致,建议把站点改成固定的目录

我的测试服务器站点目录在/www/wwwroot/下面,你的不是就要改成你自己的

git网址xxx是你自己的git仓库目录,当然,你也可以直接复制代码仓库的地址粘贴替换

(PS:部分用户反馈,宝塔的添加那里的输入框可能会过滤代码,因此添加保存后务必点击编辑按钮查看代码的完整度,你也可以在编辑状态重新粘贴修改保存~)

 四、配置gitee>gitee的webhook

 点击宝塔webhook的查看秘钥按钮,将密钥填入gitee>gitee的密码框中,将post路径填入gitee>gitee的POST路径框中

 

五、将Gitee仓库clone到服务器的本地目录中

进入到你要放置的目录中 然后git clone git@gitee>gitee.com:xxx/xxx.git(注意,这里要复制SSH地址clone不要用HTTPS)

然后试改个东西推送下

如果出现如下信息,则说明更新成功了

 


http://www.niftyadmin.cn/n/176062.html

相关文章

logoback集成springboot

3.1.日志框架介绍 目前的日志框架有 logging , log4j1 、 log4j2 、 logback ,这些框架都自己定制了日志 API ,并且有相应 的实现; ​ 目前 Apache commons-logging 、 slf4j ,用于实现日志统一的框架,主要…

MySQL数据库实现主从同步

安装MySQL数据库8.0.32 前言 今天来学习数据库主从同步的原理及过程,数据库主要是用来存储WEB数据,在企业当中是极为重要的,下面一起来看下。 1.1 数据库做主从的目的 MySQL主从复制在中小企业,大型企业中广泛使用&#xff0c…

springboot整合es进行搜索

文章目录1.Elasticsearch 安装1.1 下载软件1.2 安装软件1.3 安装 ik 中文分词器1.4 启动ES1.5 问题解决2.Kibana 安装 & 使用2.1 下载软件2.2 安装软件2.3 启动 Kibana3.实战开发-前提准备3.1 开发背景3.2 数据库表设计3.3 创建es索引与映射3.4 es文档数据4.实战开发-后端代…

Docker安装记录

一、安装过程 1.安装Docker Engine arm64 推荐使用官网安装中的Install from a package docker官网安装Docker Engine Docker Engine(arm64版本)的相关deb包下载地址 amd64 卸载系统自带的旧版本 sudo apt-get remove docker docker-engine docke…

triton start up

官方地址https://github.com/triton-inference-server/server start up triton 服务端配置 ./fetch_models.sh cd server/docs/examples docker run --gpus1 --rm --nethost -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:23.02-py3 tritonserver --mod…

SystemUI返回键手势和launcher上滑手势

背景描述 最近修改bug和需求,接触到系统手势这一块,发现是一个薄弱点,以前只是简单知道,没有深入了解。 手势这一块涉及的模块和流程比较多,记录一下别人写的比较好的文章参考一下。 初步学习下来发现 1、左右返回键手…

监事职责和权限有哪些

一、监事职责和权限有哪些 监事会的职责与权限如下: (一)检查公司财务; (二)对董事、高级管理人员执行公司职务的行为进行监督,对违反法律、行政法规、公司章程或者股东会决议的董事、高级管…

驯服奇特数字:java.text.DecimalFormat的神奇之力

前言我们在实际项目中可能会遇到各种奇特的数字格式。这些非常规的数字表现形式可能会在PPT演示、报表或其他文档中出现。对于研发人员而言,如果没有合适的数字格式化工具,处理这些数字可能会让你走很多弯路。今天,我们将介绍一款专门用于处理…