首先你要知道什么是WebHook,如果你真的不想知道那也没关系。总之就是在你push到git仓库时会从git仓库触发一个http请求。关于http的地址根据你不同的git仓库有不同的方式去配置。

首先配置宝塔面板,你需要安装宝塔插件中的 WebHook

随便起一个名字然后保存

这时你会在列表中看到新增加的名称,点击查看密钥 获取密钥并配置到git仓库中,如下gitee.com仓库

注意ip和端口号之间有一个冒号 :

关于使用git ssh 需要你配置ssh密钥,可以使用

ssh-keygen -t rsa -C “name@mail.com”如果没有才执行这个命令并将公钥设置为部署公钥

查看命令是 cat ~/.ssh/id_rsa.pub

如下代码点击编辑后输入并保存

需要替换gitPath的项目储存路径和 gitSSH 为你的项目的gitSSH地址信息

#!/bin/bash

#输出空白行 隔断

echo ""

#输出当前时间

date +"%Y-%m-%d %H:%M.%S"

echo "Start"

#判断宝塔WebHook参数是否存在

#if [ ! -n "$1" ];

#then

# echo "param参数错误"

# echo "End"

# exit

#fi

#git项目路径

gitPath="/www/wwwroot/www.daohang.dev"

#git 网址 这里要修改成你的仓库地址

gitSSH="git@gitee.com:yanlong-li/daohang.dev.git"

# 定义自定义脚本的文件名称

buildScript="buildScript.sh"

echo "Web站点路径:$gitPath"

#判断项目路径是否存在

if [ -d "$gitPath" ]; then

cd $gitPath

#判断是否存在git目录

if [ ! -d ".git" ]; then

echo "在该目录下克隆 git"

git clone $gitSSH gittemp

mv gittemp/* gittemp/.[^.]* .

rm -rf gittemp

fi

#拉取最新的项目文件

#git reset --hard origin/master

echo "正在拉取远程代码"

git pull

#设置目录权限

#chown -R www:www $gitPath

echo "拉取结束"

else

echo "该项目路径不存在"

echo "End"

exit

fi

# 下面是自定义的一个脚本,用于自定义的执行动作 如果不需要可以删除

if [ -f "$buildScript" ]; then

chmod +x $buildScript

./$buildScript

else

echo '不存在执行脚本';

fi

echo "脚本执行结束"

下面是我用来编译 Vue的一个脚本,也一起放上来

前提你要安装了 mp2管理器 或者手动安装了 node+npm

# 编译脚本 buildScript.sh

logUpdatePath="log/update"

logBuildPath="log/build"

# 更新依赖

logDate=$(date +"%Y-%m-%d-%H-%M")

if [ ! -d "$logUpdatePath" ]; then

mkdir -p $logUpdatePath

fi

if [ ! -d "$logBuildPath" ]; then

mkdir -p $logBuildPath

fi

echo "更新依赖"

npm install

echo "编译项目"

npm run build

echo "设置权限"

chown -R www:www dist/[^.]*

echo "运行结束"

注意 有时候可能在Webhook中无法识别到node和npm,重装WebHook即可

使用图中的方法进行新建一个,然后提交后点击测试,然后查看日志,如果是空白则需要重装WebHook

使用宝塔部署node项目_使用宝塔面板进行项目的自动部署WebHook相关推荐

  1. vue项目前端服务器,【前端技术】vue自动部署项目到服务器

    想要的功能 前端打包之后自动上传文件夹到服务器 在不提交代码的前提下,也可以完成上述功能 经过各种百度谷歌,最后有两种方案可以选择 第一种是写一个shell,通过lftp上传文件夹,但是会有个权限的问 ...

  2. 软件测试真实项目_企业中软件测试的项目流程

    首先做软件测试你得先清楚软件测试的概念吧,什么是软件测试,软件测试的意义. 其次,那么开始做一个项目的软件测试,我们要从哪里入手,一般我们都从需求介入,所以参加需求评审,需求澄清,到最后的需求落地. ...

  3. umi脚手架搭建的项目_还在从零开始搭建项目?手撸了款快速开发脚手架!

    之前开源了一款项目骨架mall-tiny,完整继承了mall项目的整个技术栈.总感觉mall-tiny集成了太多中间件,过于复杂了.这次对其进行了简化和升级,使它成为了一款拥有完整权限管理功能的快速开 ...

  4. 手机python软件怎么创建项目_创建成功的 Python 项目

    创建成功的 Python 项目 Patrick Altman 2012 年 3 月 14 日发布 Python 开源项目的生态系统丰富多样.您可以在这一雄厚的基础上完成下一个开源项目的生产.此外,这也 ...

  5. eclipse创建springboot项目_创建一个 Spring Boot 项目,你会几种方法?

    我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 42W+,如下图: 2017 年由于种种原因,就没有 ...

  6. JAVA工作总是维护项目_开发维护大型 Java 项目的建议

    原标题:开发维护大型 Java 项目的建议 假设你是正在开发和维护一个包含2000个类并使用了很多框架的Java开发者.你要如何理解这些代码?在一个典型的Java企业项目小组中,大部分能够帮你的高级工 ...

  7. svn导出java项目_【SVN】导出项目后报错汇总

    1.jsp页面内:标点符号,引入报错 解决方法:关闭此项目的jsp验证,右键,最下面一个,Verification,右边一溜只留一个dtd就好 2. 编码问题-乱码 刚拉下来的项目编码可能与Myecl ...

  8. react项目_如何从零开始创建React项目(三种方式)

    在开发React项目前最关键的当然是项目的创建,现在的前端工程化使得前端项目的创建也变得越来越复杂,在这里介绍三种从零开始创建React项目的方式,分别是在浏览器中直接引入.使用官方脚手架create ...

  9. travis-ci自动部署_如何使用Travis CI设置高级自动部署

    travis-ci自动部署 by Amir Off 由Amir Off 如何使用Travis CI设置高级自动部署 (How to set up advanced automatic deployme ...

最新文章

  1. UVa11038 - How Many O's?(统计0的个数)
  2. select2 api参数的文档
  3. STM32之CAN---工作/测试模式浅析
  4. 英特尔SVT-AV1 0.8 AV1视频编码基准发布
  5. Python游戏开发--外星人入侵(源代码)
  6. 编写干净的测试–分而治之
  7. 拼图项目:延期的后果
  8. spring mvc ModelAndView向前台传值
  9. Discuz! X3.2后台管理员登录不了的问题
  10. 寫程式不需要天份,也不需要熱情
  11. poj2280--Amphiphilic Carbon Molecules(扫描线+极角排序+转换坐标)
  12. Java基础复习---线程创建
  13. 16.2互联网媒体信息讽刺识别
  14. 【codevs3290】华容道
  15. mysql relay log参数汇总
  16. Python 学习笔记->《流畅python》学习
  17. 中标麒麟的下载和安装
  18. am调制解调仿真matlab,AM调制与解调仿真matlab
  19. 手机软件设计大赛报名信息
  20. IC卡参数公钥之 AID和RID

热门文章

  1. Jquery获取服务器端控件ID的方法
  2. 提示错误:“应为“providerInvariantName”参数的非空字符串。”
  3. input type:text输入框点击输入,文字消失
  4. 关于ORA-04021解决办法(timeout occurred while waiting to lock object)
  5. SQL 异常处理 Begin try end try begin catch end catch--转
  6. SharePoint2007安装图文详解二:安装AD(活动目录)及DNS
  7. 金蝶Apusic应用服务器的数据源管理(转)
  8. c语言最大公约数和最小公倍数_五年级奥数课堂之七:公因数和公倍数
  9. mysql 6安装当前密码_MySQL8.0 安装踩坑指南
  10. 基于linux的netfilter处理数据包的过程分析,基于Netfilter的网络数据包分析