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

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

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

 yum install git

一、创建公钥

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

ssh-keygen -t rsa  -C "[email protected]"([email protected]为你自己的git账号)

然后一路回车

生成完之后查看证书

cd ~/.ssh
ls
cat id_rsa.pub

二、添加公钥

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

gitee自动同步到宝塔服务器-自动部署_第1张图片

 三、宝塔安装webhook插件

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

安装完之后进入设置页面

gitee自动同步到宝塔服务器-自动部署_第2张图片

gitee自动同步到宝塔服务器-自动部署_第3张图片

 下面是脚本文件

#!/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="[email protected]: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仓库目录,当然,你也可以直接复制代码仓库的地址粘贴替换

gitee自动同步到宝塔服务器-自动部署_第4张图片

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

 四、配置gitee的webhook

gitee自动同步到宝塔服务器-自动部署_第5张图片

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

gitee自动同步到宝塔服务器-自动部署_第6张图片

gitee自动同步到宝塔服务器-自动部署_第7张图片

 

gitee自动同步到宝塔服务器-自动部署_第8张图片

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

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

然后试改个东西推送下

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

gitee自动同步到宝塔服务器-自动部署_第9张图片

 

你可能感兴趣的:(gitee,git,github)