目录 1. 认识DevOps 1.1. DevOps工具链 1.2. CI 持续集成(Continuous Integration) 1.3. CD(持续交付 & 持续部署) 1.4. Agile Development 2. DevOps 最佳实践 3. Gitea 3.1. Gitea的部署和使用(Docker) 3.2. 更改 Gitea 外观 3.3. Code Review 3.4. Email 通知 3.4.1. Sendmail 配置 3.4.2. SMTP version 3.5…
Devops工具链 DevOps实际是一种文化上的变迁,代表了开发.运维.测试等环节之间的协作,因此DevOps工具是非常多种多样的,甚至可以由多种工具组成一个完整的DevOps工具链.此类工具可以应用于一种或多种类别,并可体现出软件开发和交付过程的不同阶段: 编码:代码开发和审阅,版本控制工具.代码合并工具 构建:持续集成工具.构建状态统计工具 测试:通过测试和结果确定绩效的工具 打包:成品仓库.应用程序部署前暂存 发布:变更管理.发布审批.发布自动化 配置:基础架构配置和部署,基础架构即代码…
在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年-2017年),列出几个相对明确又有所不同不同的定义,从而能够比较全面了解DevOps的内涵. [2009]DevOps是一组过程.方法与系统的统称,用于促进开发.技术运营和QA部门之间的沟通.协作与整合: [2011]快速响应业务和客户的需求,通过行为科学改善IT各部门之间的沟通, 以加快IT组织交付满足快速生产软件产品和服务的目 […
1. devops工具链概述  1)devops工具篇 2) 持续集成 3) 持续交付 4) 持续部署 2. devops工具链概述…
https://mp.weixin.qq.com/s/NYm63nkCymIV3DbL4O01dg 腾讯重新定义敏捷 |Q推荐 小智 InfoQ 2020-09-03 敏捷开发奠基人 Robert C. Martin 接受采访时曾表示:软件研发领域成功的秘诀其实是用很多小团队解决很多小问题.随着 IT 互联网的飞速扩大,业务规模的海量增长,软件开发领域走向了用大团队解决大问题. 但大团队先天性的臃肿.迟缓.滞后的弊端,带来了瀑布式软件开发的效率低下.于是在世纪交替之际,软件开发领域的先驱 Rob…
全生命周期管理(ALM)领域作为企业DevOps实践的总体支撑,应该说是DevOps领域中最为重要的实践领域,也是所有其他实践的基础设施.现在很多企业都非常重视CI/CD自动化工具的引入和推广,但是对ALM的建设的重视程度并不够.CI/CD的火爆很大程度上是被Docker和DevOps的热潮带动的,但CI/CD自动化只是提升团队效率的一个环节,如果没有ALM工具的支撑,CI/CD也只是空中楼阁,无法起到整体优化团队工作效率的作用,甚至局部的效率提高还会造成团队的不适应甚至抵触.如果管理者看不到自…
Spark Streaming揭秘 Day10 从BlockGenerator看接收数据的生命周期 昨天主要介绍了SparkStreaming中对于Receiver的生命周期管理,下面让我们进入到Receiver内部,研究下其工作机制. 首先,先总结下SparkStreaming中接收数据的特点: 数据需要不间断的按照次序接收 由于在driver中需要保存元数据,在存储数据之后,需要不断汇报给driver 让我们进入接收数据关键的BlockGenerator进行分析. Block概念 Block…
1.在kubernetes中部署应用程序流程 准备项目源码-->编译构建-->产出war包,打包到镜像中-->推送到镜像仓库 获取源代码是开发人员提交代码的代码托管地址,有Git.SVN.Gitlab等 镜像分类 1.基础镜像:如centos.Ubuntu等 2.环境镜像:如JDK.Python.go 3.项目镜像:是将项目打包到里面,基于环境镜像去打包 为什么自己构建镜像? 1.特殊环境配置 2.容易排查故障 3.标准化 4.更安全一些 制作Java镜像 1.安装编译基础环境 yum…
1.流水线改变世界 1910年,福特汽车在引入流水线生产之后,Model-T 的组装时间缩短了8倍,从12.5小时降到了1.5小时,这就是流水线改变世界的神话,造就了汽车上的国家! 那流水线怎么改变软件交付的世界呢? 2.持续交付与部署流水线 2010年,Jez Humble 的大作<持续交付-发布可靠软件的系统方法>出版,软件交付的世界因此大不同,部署流水线就是其中非常重要的一章. 2.1 部署流水线的定义 大神 Jez Humble 对部署流水线的定义:部署流水线是指软件从版本控制库到用户…
DevOps工具生态圈 协同开发工具 敏捷开发 可视化 加强团队沟通协作 数据分析 协同开发 持续集成工具 Jenkins 自动化编译 自动化测试 自动化部署 丰富的插件库 版本管理工具 Git 简介易用 系统开销小 性能优良 编译工具 配置管理工具 测试工具 监控工具 Nagios用于监控系统.网络和基础架构,提供监控功能的同时还能发出警报,当监控的系统出现异常情况,Nagios可以迅速发出警报,帮助运维团队发现问题.Nagios安装在Linux平台,可以实现以下功能: >网络服务(SMTP.…