DevOps
文章平均质量分 79
淼叔
资深架构师,PMP、OCP、CSM、HPE University讲师,EXIN DevOps Professional与DevOps Master认证讲师,曾担任HPE GD China DevOps & Agile Leader,帮助企业级客户提供DevOps咨询培训以及实施指导。熟悉通信和金融领域,有超过十年金融外汇行业的架构设计、开发、维护经验,在十几年的IT从业生涯中拥有了软件开发设计领域接近全生命周期的经验和知识积累,著有企业级DevOps技术与工具实战。
展开
-
企业级DevOps技术与工具实战 之校正篇
接触DevOps已经很长一段时间了,在这个期间通过相关理论在咨询、项目中的落地实践,有了一些浅薄的收获,结合自己的一些积累,最终虽然拖了很长时间,和笑梅老师一起终于完成了此书的出版,虽然还有很多不足的地方,但是还是希望能够以此为基础和很多喜欢技术的朋友一起交流讨论。篇幅已经很长,但由于涉及内容确实过多,个人精力、能力、技术、视野毕竟有限,难免有所错误或者失误,所以设立此贴用于根据反馈进行校正,个人邮箱为:liumiaocn@outlook.com,欢迎批评指正。原创 2020-03-25 18:27:49 · 3061 阅读 · 1 评论 -
docker基础:私库系列:再探Harbor:(7) 使用restapi对项目进行增删改查
在上篇文章中介绍了Harbor的RestApi,这篇具体以项目的增删改查作为例子来进行说明。前提假定假定Harbor运行于本机localhost的32031端口项目查询查询全部项目curl -X GET “http://localhost:32031/api/projects” -uadmin:用户密码按项目名称查询查询项目名称为library的项目信息curl -X GE...原创 2018-11-01 20:53:46 · 4664 阅读 · 0 评论 -
持续测试之现状和趋势:2018最新质量报告现状解读
测试和安全一直是DevOps实践中及其重要的环节,但是由于在于ROI不能短平快地看到效果,在具体地实施中往往是被绕过或者是列为远期规划的事情。在上月底,Capgemini发布了2018年的世界质量报告,借着这份报告,我们来看一下测试相关的现状,同时试图讨论一下趋势和最佳实践。原创 2018-10-28 22:27:44 · 5385 阅读 · 0 评论 -
安全工具:无疾而终的clairctl
背景介绍去年曾经介绍过clair以及轻量级使用clair的辅助工具clairctl,介绍clairctl的初衷在于clair的功能主要以api方式进行提供,脆弱性扫描结果非常简单地能做图形化展示的轻量级的sample的clairctl算是不错的。时隔一年,clair依然稳定发展,而clairctl已经接近无疾而终,这就是开源软件的风险之一,所以我在对于devops实践中所使用到的工具进行判断...原创 2018-10-21 10:42:07 · 5736 阅读 · 3 评论 -
squid:http和https的代理服务器设置指南
我们曾经在介绍nginx的时候顺便使用nginx做过正向代理的设定,但是如果希望支持https的话,直接使用nginx则较为困难,而使用在这方面术业有专攻的squid则要简单的多。这篇文章用于记录在centos7上安装和设定squid3.5来实现http和https的步骤。机器配置[root@liumiaocn ~]# uname -aLinux mail.163.com 3...原创 2018-06-05 20:46:52 · 32381 阅读 · 2 评论 -
移动端安全框架:MobSF:概要与使用
MobSF是Mobile Security Framework的缩写,是一个移动端应用安全问题检出的框架和工具,它适用于Android/iOS/Windows,能够执行动态和静态的恶意软件的分析和检测。支持Android和iOS以及Windows移动应用,无论是二进制方式还是压缩的源代码都可以进行检测。MobSF将数据保持在本地环境之中,所以可以不必担心应用和相关的数据被送至云端。另外,对于s...原创 2018-05-24 19:38:15 · 19506 阅读 · 7 评论 -
Zipkin实践:Python项目中跟踪系统导入Zipkin
Zipkin是twitter在google的dapper论文的基础上实现的分布式跟踪系统。关于dapper的解读,详细可以参看:https://blog.csdn.net/liumiaocn/article/details/80657661zipkin概要信息 项目 说明 官方网站 https://zipkin.io/ 开源/闭源 开源 L...原创 2018-06-11 21:25:48 · 9806 阅读 · 6 评论 -
Nexus基础:使用Api进行操作
Nexus提供了RestApi,但是一部分Api仍然需要结合Groovy等进行操作,在3.3机器以后的版本上进行了强化,但是和普通的RestApi相比仍有一些“使用上的特性”。这篇文章以创建创建raw的repository为例,来确认一下相关的使用方法。前提准备准备可运行的Nexus,这里的版本为3.2.1Api机制这篇文章介绍的是Nexus3推出之初的Api的设计思路,主要是通过结合g...原创 2018-11-05 07:31:18 · 20410 阅读 · 5 评论 -
DevOps实践之持续监控:目录
DevOps打通了软件开发的全生命周期,如何对所涉及的部分进行全方位的监控,需要考虑很多因素,Infra/Software/Application各层需要考虑什么,工具如何使用和融合原创 2018-11-11 09:54:46 · 4174 阅读 · 0 评论 -
博客目录总纲 -- 持续更新
目录总纲,尽可能保持持续更新原创 2018-11-11 10:02:23 · 5175 阅读 · 6 评论 -
docker基础:私库系列:再探Harbor:(8)对镜像tag进行操作(for zz)
harbor使用了docker的registry,docker的registry所提供的api使用起来并不方便,harbor提供了使用/repositories/{repo_name}/tags可以对镜像的tag进行重新设定,非常方便,当然也可以通过docker cli方式使用docker tag命令进行修改。但是由于retag的功能是harbor在1.7.0才开始引入的功能,而且目前harbor的1.7.0只是在rc1版本,更多使用之前稳定版本的项目稍微需要走一下曲线救国的路线。原创 2018-12-09 20:28:50 · 4775 阅读 · 0 评论 -
以安全之名:2019年DevSecOps社区调研白皮书解读
2019年3月5号,Sonatype团队发布了一年一度的DevSecOps社区调研白皮书。这是DevSecOps的第六次年度的社区调查,在本年度共计包含对5,558份IT从业者的调研问卷的结果分析,是从安全角度来看DevOps实践的权威材料,而Sonatype也会在本年度3月28号展开详细的说明,让我们先睹为快。原创 2019-03-10 20:01:28 · 4459 阅读 · 0 评论 -
Rundeck使用指南
Rundeck是一个基于Java和Grails的开源的运维自动化工具,为用户提供了进行运维自助化的不错选择。这里整理一些Rundeck的常见操作。原创 2019-04-09 21:01:01 · 6599 阅读 · 0 评论 -
Rundeck基础:1:概要介绍
Rundeck是一个基于Java和Grails的开源的运维自动化工具,提供了Web管理界面进行操作,同时提供命令行工具和WebAPI的访问控制方式。像Ansible之类的工具一样,Rundeck能够帮助开发和运维人员更好地管理各个节点。原创 2019-04-10 00:02:59 · 9090 阅读 · 0 评论 -
Rundeck基础:3:基础概念:操作Project
Rundeck是一个基于Java和Grails的开源的运维自动化工具,提供了Web管理界面进行操作,同时提供命令行工具和WebAPI的访问控制方式。在这篇文章中,介绍一下基本概念和操作Project的方法。原创 2019-04-10 07:18:13 · 2318 阅读 · 0 评论 -
大规模分布式系统的跟踪系统:Dapper设计给我们的启示
在2010年,google发表了一篇名为“Dapper, a Large-Scale Distributed Systems Tracing Infrastructure”的论文,在文中介绍了google生产环境中大规模分布式系统下的跟踪系统Dapper的设计和使用经验。而zipkin/pinpoint/hydra/watchman/鹰眼等系统都是基于这篇文章而实现的。重新再读这篇文章,简单整理如...原创 2018-06-11 20:51:49 · 11340 阅读 · 1 评论 -
微服务之API网关:kong:使用场景之路由功能
API网关,在介绍spring cloud的时候我们也曾提到过zuul,并使用zuul做了一个简单的实验证明zuul是可以实现网关的路由功能的,在这篇文章中,我们会同样使用类似简单的例子来验证kong在此种场景下的使用。场景说明 项目 说明 Api路由服务 kong 用户服务 用户相关的服务 组织服务 组织相关的服务就像k...原创 2018-05-28 06:21:11 · 20882 阅读 · 0 评论 -
微服务之API网关:Kong:概要与安装
Kong是一个基于Apache License 2.0的开源项目,是一个云原生的快速可扩的分布式微服务抽象层,应用场景为微服务的API网关,类似于spring cloud的zuul。概要信息 项目 说明 官方网站 https://konghq.com/ 开源/闭源 开源 License类别 Apache License 2.0...原创 2018-05-26 22:12:13 · 29537 阅读 · 1 评论 -
ChatOps工具之Hubot
Hubot简介Hubot的最初的一个版本是用于作为Github的chat room, 当然不只是一个聊天机器人,使用Hubot可以用于自动化集成,实施部署,搞点乐子等等,在Github他们就是这样做的,Hubot被称为Github最忙碌的员工。而后又使用Coffeescript对项目进行了重写,在Github上也受到了广泛的好评。使用场景使用Hubot可以用于很多场景,其中很多都已经是在被实践之中了原创 2017-05-30 19:15:37 · 8343 阅读 · 0 评论 -
安全防护工具之:ClamAV
ClamAV是一个C语言开发的开源病毒扫描工具用于检测木马/病毒/恶意软件等。可以在线更新病毒库,Linux系统的病毒较少,但是并不意味着病毒免疫,尤其是对于诸如邮件或者归档文件中夹杂的病毒往往更加难以防范,而ClamAV则能起到不少作用。原创 2017-08-04 23:04:53 · 28693 阅读 · 2 评论 -
安全防护工具之:Anchore
安全性对任何产品来说都非常重要,比如著名的HeartBleed就曾经给很多忽视安全问题的企业带来了很大的影响。而随着容器化的推进,早在2015年的一次调查中,研究者就曾发现取样的Dockerhub上有30%-40%的镜像存在安全性的问题。Anchore正是这样一款针对容器的安全扫描的工具,类似于Docker在其收费版中提供的功能那样,能对应用容器的脆弱性进行静态扫描原创 2017-08-06 07:46:09 · 13921 阅读 · 1 评论 -
版本管理之gitlab实践教程:基础篇(10)
这篇文章开始介绍一些关于与gitlab相连的客户端git的一些常用操作和命令。这篇文章主要介绍一下代理服务器后如何设置git,以及如何使用git命令。原创 2017-12-11 07:58:22 · 4650 阅读 · 0 评论 -
Redmine之RestApi集成方式
Redmine是一个较为强大的开源Ticket管理工具,这篇文章我们将会介绍一下如何使用Curl和Redmine所提供的RestApi来进行集成,将会选取Redmine中的用户进行简单的增删改查的操作。原创 2017-12-05 21:47:00 · 13955 阅读 · 1 评论 -
版本管理之gitlab实践教程:基础篇(11)
这篇文章介绍一下gitlab与项目相关的操作,我们会从api入手,学习项目的增删改查,如果通过gitlab的页面操作当然这些会很简单,但是如果在自己的项目中与gitlab的集成比较紧密的情况下,很多时候则可能需要通过调用api来自动完成一些操作,从这篇文章开始也会使用新的gitlab的版本,同时会将easypack上与gitlab-ce的关联版本进行更新。gitlab的v3与项目相关的ap原创 2018-02-03 21:21:41 · 6351 阅读 · 0 评论 -
版本管理之gitlab实践教程:基础篇(12)
这篇文章我们将会介绍一下如果使用gitlab和jenkins进行结合,通过api动态设定gitlab的webhook,实现每次向gitlab进行push操作的时候,jenkins的job会自动被执行的效果。试验版本 工具 版本 gitlab 10.4.2 jenkins 2.73.3Jenkins设定pipeline创建一原创 2018-02-04 18:47:37 · 4944 阅读 · 0 评论 -
版本管理之gitlab实践教程:基础篇(13)
rebase VS mergegit中使用rebase或者merge都能达到合并的效果,什么时候更适合使用rebase,什么时候应该使用merge,在这篇文章中会通过一些简单的操作来进行讨论。准备使用官方介绍使用的典型场景,具体如下所示: git准备使用git进行事前的准备,在master(origin分支)上创建C1和C2文件然后提交,接下来创建mywork分支,在my原创 2018-02-04 22:01:29 · 4494 阅读 · 0 评论 -
版本管理之gitlab实践教程:进阶篇(1)
实践gitflow结合git flow,使用gitlab作为远端仓库管理,在实际的项目中是一种可行的方式,而且这种方式对与复杂大型的项目有较好的适应方式。git flowgit flow源于Vincent Driessen在2010年提出的一个分支模型: 主要特点两个长期分支git flow中有两个长期的分支,一直不会被删除,这两个分支是develop和mas原创 2018-02-06 07:18:27 · 15237 阅读 · 0 评论 -
版本管理之gitlab实践教程:进阶篇(2)
github flow实践git flow的问题git flow是一个较早的版本管理模型,但是也有一些实际在使用上的问题。第一个常见的问题就是因为git flow的模型设计是围绕着release进行的,所以master成为了一个 用于保存向生产环境发布代码的分支,而真正的主分支我们使用的是develop分支而不是master分支,但是无论是交流上还是一些工具的缺省设定,一般都会直接使原创 2018-02-06 07:39:18 · 7498 阅读 · 0 评论 -
配置管理工具Puppet入门介绍:1 :安装与设定
Puppet是配置管理工具的一种,这篇文章主要介绍一下Puppet的安装与设定。什么是PuppetPuppet是puppetlabs出品的配置管理工具,每年的DORA的DevOps报告就是有puppetlabs牵头做的,puppet作为出色的管理工具,也是可圈可点。通过可读性很好的设定描述信息,可以完成很多复杂的功能,比如如下确保软件wget被安装,用户admin被创建,而不用关系太多...原创 2018-02-19 21:06:30 · 4924 阅读 · 0 评论 -
配置管理工具Slatstack入门介绍:1 :安装与设定
Saltstack也是配置管理工具的一种,这篇文章主要介绍一下Saltstack的安装与设定。安装准备本文的安装与设定信息如下 IP Hostname OS Saltstack软件 192.169.31.131 host131 CentOS7.4 salt-master salt-minion 192.169.31.132 ho...原创 2018-02-22 11:55:23 · 4307 阅读 · 1 评论 -
版本管理工具之ClearCase
Rational ClearCase是软件配置管理SCM工具的一种,它可以用来对代码或者其他软件开发资产进行版本控制。对于超过上百或者上千团队开发者的大型项目据说也有很好的支持,同时对于大的二进制文件,文件个数很多,整体仓库容量很大的情况也能进行支持,另外对于目录也能进行版本的控制。前世今生 时间 事件 1992年 ClearCase在Atria Softwa...原创 2018-04-18 15:56:52 · 16692 阅读 · 0 评论 -
alpine的ansible镜像
使用apk add ansible即可在alpine镜像中田间ansible服务。添加步骤在alpine中使用ansible需要如下几步 步骤 说明 命令 步骤1 apk更新 apk update 步骤2 添加ansible apk add ansible 步骤3 添加openssh用于ssh-keygen等操作 a...原创 2018-05-06 20:57:19 · 5705 阅读 · 0 评论 -
快速安装openshift
最快速体验openshift目前最新版本3.9的方法。事前准备[root@host ~]# git clone http://github.com/liumiaocn/easypack.gitCloning into 'easypack'...remote: Counting objects: 1050, done.remote: Compressing objects: 1...原创 2018-05-06 21:35:10 · 8125 阅读 · 0 评论 -
利用busybox创建基础镜像(base image)
Docker镜像的首行从FROM alpine之类的镜像开始,但是最初的基础镜像是如何创建的,本文使用一个busybox创建一个基础镜像,相信在此过程中会对docker一些相关的概念有进一步的理解。什么是基础镜像(base image)简单来说,基础镜像就是没有From或者FROM scratch开头的Dockerfile所构建出来的镜像。比如alpine,这个很小的linux镜像目前只有...原创 2018-05-26 07:02:05 · 12912 阅读 · 4 评论 -
Easypack之Alpine容器系列:Jenkins之pipeline集成
在Jenkins的alpine容器中我们集成了缺省的用户名和密码,但是更多的手动作业可以进一步按需进行集成,比如在Jenkins2之后所提供的强大的pipeline功能,这些都是通过plugin方式进行集成的。安装方式jenkins的plugin的安装方式有很多种,可以将jenkins安装之后进行手动安装,或者下载之后进行安装。本文使用Jenkins所提供的plugins.sh进行批处理安装。原创 2017-02-22 07:27:48 · 8106 阅读 · 0 评论