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

下载

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钩子

点击查看密钥
按照提示修改
执行结果
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值