405 宝塔钩子_宝塔面板webhook配合gitlab完成git钩子的搭建
宝塔面板webhook配合gitlab完成git钩子的搭建
我们假设你了解了gitlab的webhook的设置。熟悉宝塔面板并会安装宝塔webhook。
如果还没掌握,请自行去了解。
一、在宝塔面板中的软件中安装”宝塔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 网址
gitHttp="http://git.hxsen.com/houxin/$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.gitPath的配置
gitPath就是你的网站的目录
比如,我的网站的运行目录/www/wwwroot/blog,这里填写/www/wwwroot/$1
其中。blog用$1代替,制作通用的git钩子。
2.gitHttp这里是你git项目的地址,就是使用git面板。拉取git文件的地址。
比如,我的git服务路径是http://git.hxsen.com/houxin/blog.git,
这里填写的是http://git.hxsen.com/houxin/$1.git,同样是为了做通用的设置。
在git钩子中,我把项目名以变量的形式传过来,就可以了。
如果你用了开放的git管理系统如,如gitee,你应该这么写
https://gitee.com/你的地址/$1.git
三、最后一步,就是获取gitlab需要你填写的url路径了。
打开宝塔webhook,找到自己添加的任务。点击”查看秘钥”,就会出现以下信息
宝塔WebHook使用方法:
GET/POST:
http://110.28.36.47:8888/hook?access_key=CpQE4U6A3IxvkiedA58WBD8uDPNVlebNAMJe9toQjGdMTX7H¶m=aaa
@param access_key string HOOK密钥
@param param string 自定义参数(在hook脚本中使用$1接收)
注意,这里的面板,是你登录面板的地址。一般都不是80端口,请带端口号。
比如:
120.149.215.141:8888
或者简易版的去除参数。去除了自动创建目录的操作,测试正常运行
代码如下:
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#git项目路径
gitPath="/www/wwwroot/shangyfy_test"
#git 网址
gitHttp="http://120.79.8.110:8090/web/test.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
fi
四、建议使用下面的更加的精简的版本,对于敏感的操作,建议我们自己做。让程序做简单重复的工作就行
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#git项目路径
gitPath="/www/wwwroot/hxsen"
#git 网址
gitHttp="https://gitee.com/hx-self/hxsen.git"
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
echo "拉取最新的项目文件"
#sudo git reset --hard origin/master
sudo git pull
echo "设置目录权限"
sudo chown -R www:www $gitPath
echo "End"
exit
fi
405 宝塔钩子_宝塔面板webhook配合gitlab完成git钩子的搭建相关推荐
- 宝塔 开启_宝塔面板安装完的一些列操作
前言 新安装的宝塔会有很多地方需要配置,如果懂的大佬可以跳过,如果是小白可以按照辉哥的教程一步步操作,辉哥是以虚拟机进行操作的,但是服务器也是一样的道理! 安全入口 因为现在使用宝塔面板的人数在激增. ...
- curl php 宝塔 开启_宝塔安装php失败
宝塔linux安装php失败的一种解决办法: 首先查看安装日志:/tmp/panelExec.log 确定失败原因为:configure: error: Please reinstall the li ...
- 使用PHPCS+GIT钩子保障团队开发中代码风格一致性实践
版权声明:作者:汤青松 https://blog.csdn.net/u013431141/article/details/81589312 一.背景 笔者在6月份加入新团队,新团队这边刚组建起来,基础 ...
- 谈谈为公司研发设计的git钩子定制规范
一.需求背景 就目前公司,拆分四条业务线,每条业务线涉及服务达到十多个,开发版本迭代迅速,但是开发使用git的规范确是有点惨不忍睹,所以根据git框架提供的钩子定制了一套规范研发整体成员的约束规则.下 ...
- 宝塔建站 mysql在哪_宝塔面板建站教程,越详细越好纯小白! - 搜外问答
我的网站就是用宝塔添加的网站: 宝塔面板创建站点添加网站的详细教程. 宝塔 Linux 面板创建站点添加网站常规方法 1.登录宝塔 linux 面板 >> 网站 >> 添加站点 ...
- 查看宝塔面板账号密码命令_宝塔面板升级到最新版图文教程
往期教程: 宝塔面板教程(1)基于云服务器搭建宝塔面板教程最全详解 宝塔面板教程(2)宝塔面板添加WordPress站点详细图文教程 宝塔面板教程(3)基于宝塔面板成功配置网站SSL安全证书 宝塔面板 ...
- 宝塔如何备份网站_宝塔面板网站备份如何快速恢复 宝塔面板网站恢复实操图文过程...
看过的人: 152 当网站遇到意外无法正常打开时,在宝塔面板中如何快速恢复备份文件,让网站正常呢?今天老魏就遇到这么一个案例.一位网友计划把 wordprss版本从当前的 5.2升级到最新的 5.4. ...
- manjaro 宝塔面板_宝塔面板免费版详细的使用教程及专业版插件测评
说明:在现如今VPS服务器的普及下,很多站长都愿意购买VPS服务器而不是购买虚拟主机来跑网站和项目,一来是VPS服务器可以根据自己的需要来安装相关的插件及服务,二来是现阶段的服务器价格也能满足我们的成 ...
- 宝塔mysql data修改_宝塔一键修改mysql数据库存放路径,更改默认数据目录…
宝塔一键修改mysql数据库存放路径,更改默认数据目录脚本! 该shell脚本仅限于宝塔bt.cn linux面板使用,希望对有需要的朋友有所帮助,如有问题请留言! 主要参数功能: 1.默认修改数据库 ...
最新文章
- python绘制雷达图代码实例-PYTHON绘制雷达图代码实例
- ps -ef和ps aux的区别
- django时差8个小时问题
- 如何删除git远程分支
- Binder子系统之调试分析(二)
- java~springcloud微服务目录索引
- jmeter 压测duobbo接口,施压客户端自己把自己压死了
- 绕过AppLocker系列之MSBuild的利用
- android studio怎么输入中文,Android studio 模拟器中输入中文
- 屏幕坏点检测图片_【沙发管家】教你自己测试智能电视屏幕
- c语言中文网pdf免费下载,C语言中文网VIP教程11.9.pdf
- Word:三线表,最底边变细,一直调不过来
- Python3爬虫韩寒新浪博客文章
- 面向车路协同的路侧感知仿真系统
- 实战Flash游戏开发
- vivo手机拍照有什么技巧,如何拍出精美照片?
- 设置Windows10系统下电脑屏幕自动关闭的时间(只关闭屏幕,电脑主机不关机)
- 关于联想Y700,玩游戏闪屏
- 画质增强概述-1-定义
- 基于人脸的常见表情识别——模型搭建、训练与测试¶