美文网首页服务器
使用宝塔的git配合webhook实现自动拉取代码

使用宝塔的git配合webhook实现自动拉取代码

作者: 这真的是一个帅气的名字 | 来源:发表于2021-04-06 17:15 被阅读0次

    下载

    image.png

    我这个安装卸载好几次了,卡在“配置”这块
    解决办法:停止安装
    然后登录服务器命令行运行

    chmod 755 /www/server/panel/install/gitlab.sh & /www/server/panel/install/gitlab.sh install
    

    安装之后宝塔后台gitlab也会是已安装状态
    完成之后切记服务器一定要开放8099端口

    打开gitlab

    点击这个访问地址即可


    image.png 修改密码 登录之后把C盘下的公钥粘贴在此
    新建项目
    项目添加成员

    本地部署

    此步骤我换了个其他成员账号,按照实际工作多人协同模拟


    本地创建仓库 git小乌龟神器
    上传成功
    image.png

    到此为止,基本的版本控制已经可以了,但是想实现本地改了代码,线上项目也要同步修改,宝塔是有这个服务的,但是收费,对于白嫖的人来说,下面的才是正菜!

    1 安装好git之后,在服务器上生成一个密钥,服务器是可以生成多个密钥的哦

    ssh-keygen -t rsa -C "your@email.com" -f ~/.ssh/id_rsa_new
    查看密钥
    cat ~/.ssh/id_rsa_new.pub

    2 然后把密钥放入到项目的仓库中

    image.png

    3 第一次先手动在项目目录中操作一下git命令

    cd /www/wwwroot/ 下   //使用git克隆
    git clone http://主机地址/项目名称.git  //具体在项目中可以看到,选择http的链接
    
    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
    //第一次pull会提示输入用户名密码
    [root@iZ25mi9h7ayZ test]# git pull
    //根据提示输入用户名
    //根据提示输入邮箱、密码(不显示)
    
    cat ~/.git-credentials      //生成.git-credentials 隐藏文件
    
    
    image.png

    4 配置webhook

    先输入一个#,然后点击编辑再输入下面的脚本


    image.png
    #!/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项目路径($1是param后面的参数,指向你的服务器的目录)
    gitPath="/www/wwwroot/$1"
    #git 网址 (替换成你的git地址)
    gitHttp="http://主机地址/zheng/$1.git" 
     
    echo "Web站点路径:$gitPath"
     
    #判断项目路径是否存在
    if [ -d "$gitPath" ]; then
            cd $gitPath
            #判断是否存在git目录
            if [ ! -d ".git" ]; then
                    echo "在该目录下克隆 git"
                    echo "git clone $gitHttp gittemp"
                    git clone $gitHttp gittemp
                    mv gittemp/.git .
                    rm -rf gittemp
            fi
            #拉取最新的项目文件
            echo "拉取最新项目文件"
            #git reset --hard origin/master
            git pull
            #设置目录权限
            chown -R www:www $gitPath
            echo "End"
            exit
    else
            echo "该项目路径不存在"
            echo "End"
            exit
    fi
    

    在这试实际情况,可能需要重启一下宝塔面板,不是重启服务器哦

    5 gitlab配置git钩子

    点击查看密钥
    按照提示修改 执行结果

    相关文章

      网友评论

        本文标题:使用宝塔的git配合webhook实现自动拉取代码

        本文链接:https://www.haomeiwen.com/subject/citekltx.html