docker已老, 函数式运维才是未来-01:springboo

2018-08-01  本文已影响2200人  larluo_罗浩

经常上线部署代码的人会知道,版本是个很头疼的问题,环境也是很头疼的问题。
这些是很简单的问题,但是总避免不了。
为啥 ?因为人总是会犯错误的。

不要太相信人类,代码才是最公正的。

所以 有人喜欢docker,但是docker实在是太复杂了。
为啥 需要虚拟化,为啥 你需要挂载?

你真正需要的,的确是函数式运维!

什么是函数式运维?

在函数式运维的体系里面,软件包即值,配置即状态。
软件包是不可变的,稍弱改动软件包之后产生了一个新的软件包。

那么函数式运维有啥好处呢?

由于软件包无状态,配置即状态 ,所以很轻松建立了配置驱动编程的体系。
对于配置,加上严格的版本控制,自然就有了代码即文档的效果。
由于软件包即值,配置多版本管理,从一个环境传递到另一个环境是那么自然 。
对于软件的多版本,即是不同的值那么简单。
由于函数式的不可变,中间过程相同输入产生的输入只用处理一次,后续可复用。
如果服务器直接提供二进制构建,即不需要源码构建进行软件包安装,
否则重新编译一次后续复用,大大提高构建效率。

如果没有函数式运维你会难受么?

肯定会有那么一天的。
如果你安装hadoop,并且没有网,或者系统库版本不一致。
突然系统找不到protobuf,找不到zlib库,你会心慌吗?
怕不怕sudo一下把系统搞挂掉?敢不敢用root权限操作一把?

函数式运维比docker好在哪里?

无须虚拟化! 再说一遍!
无须学习新技术,只需要学习简单命令行及简单的nix函数式编程!
不与系统任何底层交互,仅仅只是文件拷贝,天然绿色环保无公害!
将网络与构建过程分离,通过hash值仅需下载一次,使构建无副作用!
真正的多版本支持!同一版本,任何改动,产生新的软件包。
何止多版本,还有版本依赖管理 ,nix简直强大到没朋友!
docker,滚粗吧。

说了这么多废话,应该有点效果,那么开始正题吧。

且听老夫讲解springboot如何轻松轻松一键构建并发布

第一步: 新建spring boot项目

image.png
image.png

第二步: 下载依赖并运行

image.png
image.png
image.png

第三步: 打包并运行

image.png
image.png
image.png

第四步: 上传版本控制系统github(gitlab或者svn亦可)

image.png
image.png

准备工作就绪,接下来进行自动化构建

第一步: 编写构建脚本

image.png

第二步: 运行构建

image.png image.png image.png

第三步: 导出软件包

查看依赖:

image.png

一键导出所有依赖

image.png

第四步: 导入软件包到远程服务器,搞定收工(普通用户亦可)

image.png image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读