欢迎光临
我们一直在努力

阿里云git服务器,webhook推送机器人教程

码云(gitee)

博主本人搭建企业网站遇坑记录,挑重点讲哈!

前期准备:

代码托管平台:码云(gitee);

服务器:阿里云轻量应用服务器,1核2G、5M带宽(峰值)、1000G流量(只要96元[微笑],莫名其妙地就给阿里云打了一波广告),服务器安装git。

git安装并生成部署公钥

安装git:

yum install git

git config --global user.name "Your Name"

git config --global user.email "email@example.com"

git config --list // 查看配置是否生效

生成公钥并查看:

ssh-keygen -t rsa

cd ~/.ssh

ls

cat id_rsa.pub

将生成的公钥添加到gitee部署公钥。

服务器运维面板:宝塔Linux面板(简单好用);

宝塔Linux面板

安装WebHook并添加Hook

宝塔面板软件商店搜索“宝塔WebHook”一键安装,Hook名称要求和gitee代码仓库名称保持一致,避免后续出现意料之外的错误。

代码仓库

执行脚本

#!/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 网址 自己仓库的链接
gitHttp="https://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

提交后即可查看密匙,然后将密匙填写到gitee的webhook配置中。

最后,在/www/wwwroot目录下新建文件夹,此处文件夹名称必须与gitee代码仓库名称保持一致。

查看结果

开发人员通过git提交代码,查看WebHook日志。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。