DevOps自动化运维
自动化运维,缩短人工维护时间
邵磊
这个作者很懒,什么都没留下…
展开
-
某小公司项目环境部署演变之路
前言在环境部署问题上,我们经历了3个阶段:传统安装、镜像恢复、自动发现注册+指令下达。目前镜像恢复后,启动虚拟机,一旦能ping通我们公司地址,就会自动注册这台机器(即使没有其他外网访问权限、也未开放任何对外端口),我们也就有了这台机器的管理权限,可批量群控下发指令。(第二阶段、第三阶段均为我自主设计。)背景我们是一家产品+定制化需求公司,项目做好之后会直接部署到客户服务器上。...原创 2018-04-28 11:32:44 · 742 阅读 · 0 评论 -
某小公司自动化智能监控平台的实践
前言首先介绍下背景:我们公司的产品,会直接部署在甲方,因为甲方比较多,且他们包含个性化需求较多,所以,每个甲方可以理解为我们产品的一条git分支。 由于甲方的机器环境、网络环境各不相同,时常出现一些运行时的问题,于是,我设计了这套简易的智能监控系统,用来实时监测各个甲方接口情况。适用范围该套方案衍生的适用范围如下:docker下多容器运行项目,且暂不具备接口健康检测,该套方原创 2018-01-12 11:38:18 · 1784 阅读 · 0 评论 -
我是如何重构整个研发项目,促进自动化运维DevOps的落地?
为了这篇文章,我前后写了将近十篇文章铺垫,才将这篇整体重构思想引出。背景先说下背景,我们是一家小公司,虽然打着做产品的旗帜,但是每个客户都有大量的个性化功能,这里指各个客户的java端、Android端、ios端(大部分功能代码是相同的,个性化功能代码不同)。我之前是做Android的,实践证明,特殊情况下,只有我们Android组可以随意切换到任意一家客户,任意一版本的代码。并且修复一处公共bu原创 2017-10-14 20:31:04 · 4823 阅读 · 1 评论 -
java web项目war包自动升级部署方案
前言之前,我们公司部署以及升级都是由运维去管理的,联想到很多开源平台都支持自动升级,索性我也做个自动升级war的功能。 这里没有用docker镜像发包,灰度发包等,只适用于单个tomcat的部署环境,支持docker单个tomcat容器。分析先简单分析下war包自动升级流程: 1. 检查是否需要更新。 2. 下载更新的war包到服务器临时目录。(如后台上传则无需1,2步骤) 3. 停止tom原创 2017-07-10 17:11:10 · 12821 阅读 · 5 评论 -
IOS利用Xcode同时编译多包(测试环境地址、生产环境地址)
前言小公司,项目有2套环境:一个测试环境,一个生产环境。测试会找客户端要测试环境包或生产环境包,我觉得嫌烦,于是,同时编译。 Android版的见https://juejin.im/post/59302a0fa22b9d0058b785bc分析我们的项目中,生产环境和测试环境仅为.h文件中的两个地址不同,其他代码都是相同的。具体实现 1. 在工程的targets里右键选择 Duplicate复制原创 2017-07-12 11:51:26 · 1329 阅读 · 0 评论 -
Docker的web端管理平台对比(DockerUI 、Shipyard、Portainer、Daocloud)
前言最近,为了方便对命令行过敏的测试或开发人员,我决定部署一个可视化的管理平台来管理docker,在我重装十几次系统(当然,只是虚拟机镜像克隆),对比之后,终于选择了一款心仪的管理平台。部署docker环境安装/升级你的Docker环境,建议使用过阿里云的镜像仓库下载:mirrors.aliyun.com/help/docker-engine 或执行以下命令:curl -sSL http://ac原创 2017-07-12 11:52:23 · 31372 阅读 · 4 评论 -
巧用Superset大数据分析平台搞定各类图表
前言其实大数据图表展示的这类平台有很多,Superset是其中之一,最近有个需求对各类图表展示的开发较多,索性将工作量交给这个平台。介绍Superset的中文翻译是快船,而Superset其实是一个自助式数据分析工具,它的主要目标是简化我们的数据探索分析操作,它的强大之处在于整个过程一气呵成,几乎不用片刻的等待。 部署docker方式(推荐)docker pull amancevice/carav原创 2017-07-13 13:23:21 · 63033 阅读 · 12 评论 -
利用nexus构建maven、docker、npm、gradle私服仓库
前言在小型公司发展历程中,开发对仓库的依赖不断提高,java web需要maven仓库、android需要gradle仓库、运维需要docker仓库…… 是时候搞一套仓库私服了。初识nexusnexus是目前市场上,支持仓库种类最多,用户群体最大的一个仓库平台,上述所有的仓库,它均支持。 安装nexus这里省略安装步骤,建议使用3.x及以上版本的nexus配置maven私服这里仓库主要指2种,一种原创 2017-08-21 11:42:43 · 3456 阅读 · 0 评论 -
某小型公司持续集成工具jenkins实践(JAVA WEB、Android、IOS、Html)
前言本文可能是网上最全的一篇全端jenkins部署解决方案介绍的文章,一直以来,领导都想解决代码提交和打包问题,尤其是小公司,打包流程混乱,造成线上版本和代码库git或svn中代码不一致问题。加入jenkins阵营,解决众多发包难题,显得刻不容缓。研究过程刚开始,我一直在docker下安装jenkins,按时长租用阿里的主机,用阿里容器服务做实验,反复创建docker容器,建立多个jenkins节点原创 2017-08-25 22:25:41 · 1874 阅读 · 0 评论 -
[Day 1]上海CNUTCon全球运维技术大会2017实录
前言CNUTCon连续2年都是以docker容器为主的技术峰会,今年改名全球运维技术大会。你可能会想,我可能去了一个假的CNUTCon,其实,不是。CNUTCon一直专注于运维,而前两年比较docker比较火,所以主推docker;而这两年人工智能比较火,便主推AIOps。 本文融合了一些本人思想,如有理解错误,请指正,谢谢。开篇首先,是InfoQ主编徐川先生指出本次主题为《智能时代的新运维》,运原创 2017-09-12 13:32:17 · 2082 阅读 · 0 评论 -
[Day 2]上海CNUTCon全球运维技术大会2017实录
如果你觉得这次峰会和开发人员一点关系没有,那你就大错特错了。因为DevOps就是以开发为主导的自动化运维,而DevOps已经在BAT及各大企业成功落地,这意味我们开发需要接管一些运维工作,来使得项目部署进度加快。前言不得不说,这些很多企业很大一部分都是为了DevOps落地而来,我们都收获满满。直到我参加这次峰会,我才发现自己对自动化运维的天赋。我从未想过,把自己对硬件研究+java开发经验有机结合原创 2017-09-12 13:32:48 · 1053 阅读 · 0 评论 -
你确定你能记住那么多的git命令吗?快试试Sourcetree吧
前言 作为使用Sourcetree大于3年的我,已熟知git的每一个功能,并灵活运用利用git解决开发中各式各样的场景问题,我也曾多次在公司内部不同小组间分享Sourcetree使用经验,接下来给大家分享下这款工具吧。本文可能是目前网上最全的一篇可视化使用git工具Sourcetree文章。可能对于很多开发来说,只要搞懂git的push、pull、解决一些简单的冲突命令就好了,事实上git的功原创 2017-09-25 19:12:10 · 1330 阅读 · 0 评论 -
自动化运维工具ansible的实践
前言当服务器越来越多,统一管理起来显得尤为重要。那么选择一款管理工具必不可少,既要能满足管理新部署的机器,还要兼容之前部署的机器,无客户端版的ansible管理工具可能成为优先考虑的工具之一。认识ansibleansible 是一款自动化运维工具,能够解决我们在it工作中,一遍又一遍执行相同任务。利用它,我们可以只解决一次问题,然后自动化运行我们的解决方案。 目前,数以千计的公司正在使用简单但功能原创 2017-10-12 13:31:40 · 2222 阅读 · 0 评论 -
某小公司RESTful、共用接口、前后端分离、接口约定的实践
上次那篇我是如何重构整个研发项目,促进自动化运维DevOps的落地?中提到restful接口重构具体详细内容没有写出来,今天补上。前言随着互联网高速发展,公司对项目开发周期不断缩短,我们面对各种需求,使用原有对接方式,各端已经很难快速应对各种需求,更难以提高效率。于是,我们不得不重新制定对接规范、开发逻辑以便快速上线项目。我们的目标尽可能的缩小沟通的成本,开最少的会,确定大部分的事。花最少的时原创 2017-10-22 20:48:47 · 14205 阅读 · 3 评论