如何一键部署项目&&代码自动更新
my-deploy : 由nodejs写的一个自动更新工具,理论支持所有语言(php、java、c#)的项目,支持所有git仓库(bitbucket、github等)。
效果如何?
- 如果你的后端项目放在github、bitbucket等git仓库中管理 , 在你的服务器中配置好mydeploy,它会根据你的配置,自动检查是否需要拉取最新代码 , 并且自动帮助你更新。
支持方式
- webhook
你需要在你的仓库的webhook中设置你的服务器地址+端口,my-deploy接收到仓库的请求,会监测commit和tag,看是否需要拉取代码,如果需要,获取最新代码,此时借助pm2等可以达到自动更新重启的效果。
配置文件:
{
"mode": "webhook",
"url": "your project url of git use http",
"localdir": "/path/of/your/local/project",
"branch": "master",
"port":"3100"
"rules": [
{
"type": "tag",
"value": "[vV]\\d+"
},
{
"type": "commit",
"value": "#[\\s\\S]*?deploy\\s*[\\s\\S]*?77"
}
]
}
- pullwatch
设置好my-deploy的拉取间隔时间,它会定期获取项目是否需要更新,并作出相关更新工作。
配置文件:
{
"mode": "pullwatch",
"url": "your url of git use http",
"localdir": "/path/of/your/local/project",
"interval": 3000,
"branch": "master",
"rules": [
{
"type": "tag",
"value": "[vV]\\d+"
},
{
"type": "commit",
"value": "#[\\s\\S]*?deploy\\s*[\\s\\S]*?77"
}
]
}
总结
简单、方便的部署,让你解放服务器的代码更新,专心写代码,直接push,服务端自动更新。可以由commit的信息中区分该提交是否需要更新的,灵活控制。
该工具结合docker和集群效果更佳,更好玩。欢迎star , fork!谢谢
如何一键部署项目&&代码自动更新的更多相关文章
- 使用 SVN Hook 实现服务器端代码自动更新
之前的做法是客户端提交代码之后,再去服务器端项目中 svn up 一下来更新代码,让服务器端的项目更新到最新版本.可以编写一个 post-commit 钩子脚本来实现服务器端代码的自动更新,它在 SV ...
- 分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验
分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2 使用sv ...
- Android小项目之四 自动更新检查的逻辑
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- eclipse配置ant开发环境,一键部署项目
ANT出现之前,编译和部署Java应用需要使用包括特定平台的脚本.Make文件.不同的IDE以及手工操作等组成的大杂烩.现在,几乎所有的开源Java项目都在使用Ant,许多公司的开发项目也在使用Ant ...
- 建立apk定时自动打包系统第三篇——代码自动更新、APP自动打包系统
我们的思路是每天下班后团队各成员在指定的时间(例如下午18:30)之前把各自的代码上传到SVN,然后服务器在指定的时间(例如下午18:30)更新代码.执行ant 打包命令.最后将apk包存放在指定目录 ...
- 进程线程协程补充、docker-compose一键部署项目、搭建代理池、requests超时设置、认证设置、异常处理、上传文件
今日内容概要 补充:进程,线程,协程 docker-compose一键部署演示 搭建代理池 requests超时设置 requests认证设置 requests异常处理 requests上传文件 内容 ...
- linux svn hooks代码自动更新至项目
由于开发移动端web,ui需要及时看到样式变化,所以通过svn hooks(钩子)来提交文件,然后再把文件同步到测试服务器项目目录,步骤如下: 1.进入 /home/svn/cmall/hooks ( ...
- 一键将 Python2 代码自动转化为 Python3
问题 Python2 的代码直接在 Python3 环境运行的话会报错误: 如果大量的代码,无论是批量替换,还是逐行修改都够累的,这活儿表示不能干! 有没有办法一键转换呢? 百度了一下发现网上的方法如 ...
- Astyle 一键格式化项目代码
代码格式化差异问题: 一个团队有多个开发,因开发习惯不同,开发时少添加了空格.换行等. 格式化代码时,一般会将整个文档格式化,代码提交时会发现未知的修改项. Astyle格式化工具 官网下载地址:Ar ...
随机推荐
- docker阿里云镜像加速器使用
加速器使用:加快镜像下载速度 访问www.aliyun.com: 登录之后点击”控制台“,选择“产品与服务“: 选择“容器镜像服务“: 设定密码后选择“镜像加速器”: 这里会有一个加速器地址: 在 ...
- word里的字号与html字号的对应关系
在word里输入一段文字,把文字调成需要的大小,即"三号或者小三",然后把文件另存为网页,在格式里选择“html”格式,然后把word关闭,将另存的html文件用编辑工具打开,就可 ...
- java无符号Byte
1.无符号byte, 实现了将byte(-128~127) 转换为 (0~255) class UnsignedByte { private short value; private byte raw ...
- solr实时更新mysql数据的方法
第一步:创建core core是solr的特有概念,每个core是一个查询数据,.索引等的集合体,你可以把它想象成一个独立数据库,我们创建一个新core:名字[core1] 进入linux命令行,进入 ...
- res/raw与assets目录的区别
1.相同点: 两者都会原封不动的保存在apk包中,不会被编译成二进制码. 2.不同点: raw目录下只能存放文件,不能存放下一级的文件夹,而assets可以存放下一级的文件夹. raw目录下的资源会映 ...
- 全网最详细的Git学习系列之安装各个Git图形客户端(Windows、Linux、Mac系统皆适用ing)(图文详解)
不多说,直接上干货! 目前Git图形客户端 TortoiseGit .SourceTree .GitUp .SmartGit .QGit .GitX .Gitnub.Tower .Git-cola . ...
- *2.2.4 加入virtual interface
在前几节的例子中,driver中等待时钟事件(@posedge top.clk).给DUT中输入端口赋值(top.rx_dv <= 1' b1)都是使用绝对路径,绝对路径的使用大大减弱了验证平台 ...
- Maven Oracle JDBC
Oracle的JDBC驱动程序无法从公共仓库下载,你只能手动部署Oracle JDBC驱动程序到本地库.命令如下: mvn install:install-file -Dfile={ORACLE_HO ...
- 使用 Python 编写脚本并发布
使用 Python 编写脚本并发布 P1: 脚本 通常在 Linux 服务器上会遇到在命令行中输入命令的操作,而有些操作包含的命令数目较多或者其中的命令包含的参数较多,如果一个一个的敲命令的话就太麻烦 ...
- spark2.4+elasticsearch6.1.1搭建一个推荐系统
目录 整体框架 安装相关的组件 elasticsearch安装 spark安装 下载es-hadoop中间件 安装计算向量相似度的elasticsearch插件 运行 结果展示 参考博客 本博文详细记 ...