如何一键部署项目&&代码自动更新
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 ...
随机推荐
- C# ListView用法详解 很完整
一.ListView类 1.常用的基本属性: (1)FullRowSelect:设置是否行选择模式.(默认为false) 提示:只有在Details视图该属性才有意义. (2) GridLines:设 ...
- hdu1024 Max Sum Plus Plus 滚动dp
Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- C# openfiledialog的使用
文件对话框(FileDialog) 一.打开文件对话框(OpenFileDialog) 1. OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录Filt ...
- Mac 10.12安装SecureCRT
下载: (链接: https://pan.baidu.com/s/1eSNBoFC 密码: sztc) 安装参考: http://www.cnblogs.com/EasonJim/p/7568734. ...
- spring boot快速入门 1 :创建项目、 三种启动项目方式
准备工作: (转载)IDEA新建项目时,没有Spring Initializr选项 最近开始使用IDEA作为开发工具,然后也是打算开始学习使用spring boot. 看着博客来进行操作上手sprin ...
- 第3章—高级装配—bean的作用域
bean的作用域 bean的默认作用域 Spring定义了多种作用域,可以基于这些作用域创建bean,包括: 单例(Singleton):在整个应用中,只创建bean的一个实例. 原型(Prototy ...
- ERROR 1064 (42000): You have an error in your SQL syntax;
出现: ERROR 1064 (42000): You have an error in your SQL syntax; 1.SQL语句拼写错误. 具体很简单.慢慢查看 2.使用到了SQL关键字. ...
- Linux下mysq基础命令(二)
1. 创建数据库相关命令: mysql> STATUS(\s) - 列出当前mysql的相关状态信息 mysql> SHOW DATABASES; - 显示数据库列表 mysql> ...
- 西蒙布朗-C4模型
关于 C4 模型的一些解释 C4 模型是来自 software architecture for developers 一书的定义,指的是 Context 上下文场景.Container 容器.Com ...
- pip 更换国内源
centos 下 没有找到 pip.conf 操作如下: 进入主目录:cd ~ 创建 .pip 目录: mkdir .pip 进入.pip 创建 pip.conf 文件:cd .pip/ touch ...