服务器添加git钩子的步骤

 更新时间:2022年10月17日 14:23:01   作者:辛蕾亓  
这篇文章主要介绍了服务器添加git钩子的步骤,配置码云和服务器ssh
-服务器要开放22端口,对服务器git钩子相关知识感兴趣的朋友一起看看吧

又名git 宝塔 码云 webhook钩子自动同步

第一步,在服务器下载,软件,webhook。

第二步,查看git版本,不能太低。

这个太低了。

这个最新

第三步,

yum remove git 删除git

yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm git最高版本

yum install git重新下载git最高版本

git config --global user.name XXX 邮箱名称

git config --global user.email XX@XX.com 邮箱账号

第四步,

配置码云和服务器ssh

-服务器要开放22端口

https://baidu.physton.com/?q=%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%BC%80%E6%94%BE%E7%AB%AF%E5%8F%A3%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D

云服务22端口:https://blog.csdn.net/qq_46311811/article/details/122233509

公钥对添加(很重要):https://gitee.com/help/articles/4181#article-header0

暂时只支持一个码云账号同步生成公钥对

ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com" 这个就是公钥对

cat /root/.ssh/id_ed25519.pub 这个是获取公钥对

第五步:git配置webhook。(WebHook)

下面peng哥的!!!

git 宝塔 码云 webhook钩子自动同步
linux git 安装
centos8.0 以上 yum源自带版本比较新的git 版本。
如果是centos7 版本要下载git最新版本的话,要下载ius yum源。(或者编译安装)
安装完成后可配置用户名和邮箱
git --global config user.name  XXX
git --global config user.email  xxx

配置码云和服务器ssh
-服务器要开放22端口

暂时只支持一个码云账号同步
生成公钥对
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com" //后面是邮箱 


生成的公钥对在root/.ssh 里面
复制公钥到码云上面
git clone 到服务器
cd /www/wwwroot/
git clone git@gitee.com:fatcar/dmd_new.git 

配置宝塔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/$1"
#git 网址两种方式都可以ssh 或者https
gitHttp="git@gitee.com:fatcar/$1.git"
#gitHttp="git@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

查看宝塔的密钥 配置码云上面的webhook
测试是否成功
分测试服务器和正式服务器(注意下分支)
--- 参考链接

https://www.itqaq.com/index/214.html
https://gitee.com/help/articles/4229#article-header0
https://www.cnblogs.com/jkko123/p/11620367.html
-- 思考

数据库配置文件要不要传到git(可以不用)因为如果在服务器上面新加文件,不会影响同步,可以手动添加数据库文件
如果一些文件的权限需要777,会不会有影响。(待定)

到此这篇关于服务器添加git钩子的文章就介绍到这了,更多相关服务器 git钩子内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 0到1分析美团端侧cdn容灾解决方案

    0到1分析美团端侧cdn容灾解决方案

    作为业务研发,你是否遇到过因为 CDN 问题导致的业务图片加载失败,页面打开缓慢,页面布局错乱或者页面白屏?你是否又遇到过某些区域 CDN 域名异常导致业务停摆,客诉不断,此时的你一脸茫然,不知所措,这篇文章为大家从0到1分析美团端侧cdn容灾解决方案
    2022-01-01
  • linux下安装Squid代理的详细配置教程

    linux下安装Squid代理的详细配置教程

    在一些特定的情况下,我们需要做些代理来设置完成我们的一些目的,大家常见的代理软件为Squid代理软件,目前redhat5.5的linux已经自带了Squid代理软件,但是有的linux系统是没有的,那么下面总结下我在linux下配置Squid代理的具体安装步骤,供大家学习参考
    2012-09-09
  • ansible管理工具的环境及部署安装

    ansible管理工具的环境及部署安装

    这篇文章主要为大家介绍了管理工具ansible的环境安装及部署过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • vscode 远程服务器 上传至 github的操作步骤

    vscode 远程服务器 上传至 github的操作步骤

    这篇文章主要介绍了vscode 远程服务器 上传至 github的操作步骤,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-12-12
  • 教你使用Ubuntu搭建DNS服务器

    教你使用Ubuntu搭建DNS服务器

    这篇文章主要介绍了Ubuntu搭建DNS服务器,本例是在ubuntu18.04上进行的,其他版本的ubuntu同样类似,重点讲解了/etc/bind/named.conf.options配置文件,需要的朋友可以参考下
    2022-09-09
  • https证书选择之DV型、OV型、EV型证书的主要区别

    https证书选择之DV型、OV型、EV型证书的主要区别

    这篇文章主要介绍了https证书选择之DV型、OV型、EV型证书的主要区别,需要的朋友可以参考下
    2017-09-09
  • ROS参数服务器中的理论模型与参数操作(C++)

    ROS参数服务器中的理论模型与参数操作(C++)

    在C++中实现参数服务器数据的增删改查,均可以通过两套API实现分别是ros::NodeHandle和ros::param,这篇文章主要介绍了ROS参数服务器--理论模型与参数操作(C++),需要的朋友可以参考下
    2023-08-08
  • squid3缓存服务器编译安装和高命中率配置示例

    squid3缓存服务器编译安装和高命中率配置示例

    这篇文章主要介绍了squid3缓存服务器编译安装和高命中率配置示例,本文讲解了下载squid、编译安装squid、配置squid等内容,需要的朋友可以参考下
    2014-12-12
  • vscode内网访问服务器的方法

    vscode内网访问服务器的方法

    这篇文章主要介绍了vscode内网访问服务器的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Yolov5服务器环境搭建详细过程

    Yolov5服务器环境搭建详细过程

    这篇文章主要介绍了Yolov5服务器环境搭建,本文通过脚本命令图文介绍给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04

最新评论