Followme Devops实践之路

引言

天下武功,唯快不破

想要提高开发团队效率,势必要有一套完整而成熟的开发流程方案,除了sprint迭代开发模式之外,还有近几年流行的devops流程,都是可以大幅度提高开发效率的工具. 我们团队也不断探索、实践,最终形成了现有的一套体系,从最初的手动发布到现有的自动化,从起始的繁琐易乱到当下的简洁明了。我们希望将我们曾经踏过的脚印与大家一起分享,为各位展示一条 我们的devops 的实践之路,同时也希望能为各位避免走入同样的弯路提供些许帮助。

?

背景

我们是一个 .net(core) / go / nodejs 的多语言混合式开发团队,致力于微服务架构。项目初期基于 .net framework, 开始并没有准备做 devops,基于Windows的 gRPC 服务、ASP.NET 做持续部署还是比较麻烦(不管是停止远程服务/更新二进制包/docker化流程都太重)。当我们全面拥抱.net core 2.0之后,其原生跨平台的特性促成了我们的 CI/CD (continue integration/continue deployment) 之路。

?

发展历程

从0,到devops我们也经历过好几个阶段,每个阶段所存在的问题, 大家也可以对号入座的看看

1 原始阶段/纯人工管控

  • 大家司空见惯的在开发机build,然后copy到服务器上,手工解压更新,启动服务!
  • 这种方式效率太低, 质量也不敢保证, 没有流程章法

2 Ansible + git

  • 采用git来管理二进制发布包 ,可以有效的进行发布的粗略diff/特别是配置文件
  • 采用ansible来管理服务器,大大减低了人肉成本
  • 运维大量的重复性操作

3. devops

?

Devops

为了实现开发自运维, 我们采用Jenkins +docker + portainer 三剑客, 来解决开发/运维/服务器/各自的问题

  1. Docker

    1. 环境依赖, 例如 .net core runtime版本/ OS 版本, 再也不用让运维提前准备环境了
    2. 资源限制, 例如有些服务存在内存泄漏/CPU问题, docker可以限制他的最大使用率, 确保同台服务器上其他docker 服务可以正常使用
  2. Portainer

    1. Docker management UI
    2. 统一管理docker服务
  3. Jenkins

    1. Build source code
    2. Build docker image ,ship
    3. Auto deploy

架构如下 https://github.com/FollowmeTech/jenkins-cicd

功能

  • base on Jenkins
  • base on docker register hub
  • base on portainer management

依赖

  • docker registry [harbor]
  • portainer (docker management)
  • git-server
  • docker /docker-compose

体验一下

为了方便大家快熟感受, 我搭建了一个play环境

大家可以向 https://github.com/FollowmeTech/jenkins-cicd-practise 提交代码

再登陆 https://ci.rileme.club ,选择相应的分支进行build发布 (play/123456)

项目发布完成, 快熟预览效果 http://demo.rileme.club

部署使用

广告时间

Hi, 是的,我们在招聘 , 详情如下

https://github.com/FollowmeTech/hire/blob/master/dotnet.md

你是想一辈子卖糖水, 还是再折腾折腾

Think about it

?

?

原文地址:https://www.cnblogs.com/shanyou/p/9690528.html

时间: 2024-07-28 15:05:02

Followme Devops实践之路的相关文章

从 Spring Cloud 开始,聊聊微服务架构实践之路

[编者的话]随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加.在这个背景下,平台的技术架构也完成了从传统的单体应用到微服务化的演进. 系统架构的演进过程 单一应用架构(第一代架构) 这是平台最开始的情况,当时流量小,为了节约成本,并将所有应用都打包放到一个应用里面,采用的架构为 .NET SQL Server: 表示层:位于最外层(最上层),最接近用户.用于显示数据和接收用户输入的数 据,为用户提供一种交互式操作的界面,平台所使用

从入门到精通Puppet的实践之路

本文有感于<精通Puppet配置管理工具>在豆瓣上的某些差评而顺手写的书评. 半路出家   故事要从12年初说起.  某天,部门老大让我所在team的老大调研一下当下业界的配置管理工具.于是我的老大给我分配了一个棘手的任务,要求我转型去做devops,并尝试在本季度内使用Puppet来管理现有的IAAS内部平台上的所有业务,工作成果计入KPI.    于是,我半路出家从dev转成了ops.    我花了几天的时间把learning Puppet动手练习了一遍,在会使用几个基础的resource

《DevOps实践:驭DevOps之力强化技术栈并优化IT运行》

DevOps实践:驭DevOps之力强化技术栈并优化IT运行 主旨 这本书并非坐而论道,而是介绍了DevOps全流程中的许多实践,以及相应工具的运用.虽然随着时代的推移,工具将来可能会过时,但是这些实践的应用和相应的方法是不会过时的,所以对于其中各种实践必要性和相关方法的讲解,是特别值得注意的.作者认为一切皆代码,所以各个章节是围绕代码的生命周期展开的,提到了这些环节的实践: 管理代码 构建代码 测试代码 部署代码 监控代码 DevOps和持续交付简介 DevOps的由来 Patrick Deb

谈谈在DevOps实践中,感觉最重要的这三个技术……

从国内众多DevOps实践中,我们能看到下面三个技术尤其重要和火热: 容器:容器从根本上解决了软件对环境的依懒性,解决了各个环境之间的差异问题:它可以加速部署的速度,提高部署的效率:降低部署的成本.容器技术是在Linux的基础之上发展起来的,因此它本身的实施成本很低,就是在任何物理机和虚拟机的Linux操作系统上安装Docker服务(仅几十兆)就可以完成所有功能.在任何环境中实施Docker需要考虑好以下几个因素:主机的计算资源特性和容器允许的资源需求相匹配(计算密集型.内存密集型.IO密集型等

WebP 图片实践之路

我们会从三部分来聊聊webp这个话题. 什么是webp,它有什么用? 使用webp的常规方法以及优劣. 我们是如何用上webp的. PS:如果是对webp有一定了解的朋友,建议直接看第三部分.因为是讲我们的实践之路,所以第三部分会多讲一些. 一.什么是webp,它有什么用? webp是谷歌推出的一种图片格式,它的优点就是同等画面质量下,体积比jpg.png这些少了25%以上. 大家都知道移动互联网时代,页面大小和用户留存息息相关,更快的加载页面才能让更多用户关注到你的内容,而图片一直都是页面体积

微服务实践之路--RPC

微服务实践之路--RPC 重点来了,本文全面阐述一下我们的RPC是怎么实现并如何使用的,跟Kubernetes和Openstack怎么结合. 在选型一文中说到我们选定的RPC框架是Apache Thrift,它的用法是在Main方法中重启服务,在Client端连接服务去调用, 而我的想法是要跟Dubblo.HSF的用法一样,因为很多人都熟习这两个框架的用法,特别是我们好几个项目都是基于EDAS开发的,而且世面上用Dubbo的公司也很多. 顺便再说一下我们对于RPC的几点要求: 1,兼容Dubbo

搜狐云景paas平台实践之路

前言: 搜狐云景作为搜狐的paas平台,在2014年5月22日的云计算大会上正式发布了公测.初测,注册用户必须先申请邀请码参与公测会赠送用户100元电子券,经过实名认证之后会再赠送100电子券,目测可以对试用用户基本app够跑半年. 除了用户中心的一些基本安全信息设置和各种账单外,我想主要对其控制台的使用进行研究一番. 废话不多说,在绑定邮箱并充值10元成正式用户之后,无阻挡进行各种测试吧. dashboard很清新干净,是一个对用户基本消费情况和使用资源服务的基本概览. -----------

OpenCV实践之路——人脸识别之一数据收集和预处理

本文由@星沉阁冰不语出品,转载请注明作者和出处. 文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/51386949 微博:http://weibo.com/xingchenbing  前段时间对人脸检测和人脸标记进行了一些尝试:人脸检测(C++/Python)和用Dlib库进行人脸检测和人脸标记.但是检测和识别是不同的,检测解决的问题是图片中有没有人脸:而识别解决的问题是,如果一张图片中有人脸,这是谁的脸.人脸检测可以利用op

我的大数据实践之路-洗脑篇

1. 什么是大数据 五个简单故事告诉你什么是"大数据" 2.如何看待大数据 要全体不要抽样,要效率不要绝对精确,要相关不要因果 3.大数据能干什么 通过用户的使用习惯来预判用户的行为 4.大数据应用场景 我的大数据实践之路-洗脑篇