如何一键部署项目&&代码自动更新
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 ...
随机推荐
- Machine learning 第5周编程作业
1.Sigmoid Gradient function g = sigmoidGradient(z) %SIGMOIDGRADIENT returns the gradient of the sigm ...
- net 反编译神器
文章地址:https://www.cnblogs.com/sheng-jie/p/10168411.html dnSpy官网下载 分享链接 .net core源码导航 https://www.cnb ...
- Javascript之in操作符的用法
in操作符是js里面常用的一个操作符,下面是其几个常用的功能: 1.配合for语句循环遍历/迭代数组中的元素 2.配合for语句循环遍历/迭代集合中的属性 3.判断对象是否是数组的元素 4.判断对象是 ...
- ubuntu 配置 samba服务器
samba配置的安装: sudo apt-get install samba smbfs smbclient 二. 创建共享目录: mkdir /home/komy/sharesudu chmod 7 ...
- VMware Workstation中虚拟机的克隆
1 克隆虚拟机 首先需要准备好一个安装好的系统,这里以linux为例进行演示. 在需要克隆的机器上右键选择管理==>克隆 选择需要克隆的虚拟机的状态,如果你想要的就是当前的状态,就直接选择虚拟机 ...
- JavaScript数据结构-10.字典
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- IntelliJ IDEA 转移 C盘.IntelliJIdea 索引目录
IntelliJ IDEA 索引目录默认路径是 C:\Users\用户\.IntelliJIdea 转移步骤 1. 将 C:\Users\用户\.IntelliJIdea 索引目录剪切到要移动到的 ...
- ORACLE 分页 java 用jdbc方式以 sys账号连接oracle数据的问题
2,3,4,6,8 betwenen 为闭区间,前后都包括 select * from(select a.*,rownum rn from (select * from student) a ) ...
- SDSM框架
标题解释 SDSM指的是SpringMVC+Dubbo+Spring+Mybatis的框架 ------------------------------------------------------ ...
- android studio不能预览
错误:Failed to load the LayoutLib: com/android/layoutlib/bridge/Bridge : Unsupported major.minor versi ...