包含标签 devops 的文章

Devops traning

Devops DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.DevOps is complementary with Agile software development; CI/CD is a best practice for devops and agile development. CI/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing and deployment of applications.……

阅读全文

Ansible简介

Ansible 简介 ansible是基于Python开发,集合了众多运维工具(puppet、chef)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。最大的特点就是ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。ansible目前已经已经被红帽官方收购,是自动化运维工具中大家认可度最高的,并且上手容易,学习简单。是每位运维工程师必须掌握的技能之一。 ## 特点 ## 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作; 默认使用SSH协议对设备进行管理; 有大量常规运维操作模块,可实现日常绝大部分操作; 配置简单、功能强大、扩展性强; 支持API及自定义模块,可通过Python轻松扩展; 通过Playbooks来定制强大的配置、状态管理; 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可; 提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台。 任务执行方式 ad-hoc模式(点对点模式) 使用单个模块,支持批量执行单条命令。ad-hoc 命令是一种可以快速输入的命令,而且不需要保存起来的命令。就相当于bash中的一句话shell。 playbook模式 是Ansible主要管理方式,也是Ansible功能强大的关键所在。playbook通过多个task集合完成一类功能.比如我们拷贝一个文件到主机,然后授予权限,然后启动程序这几个步骤结合在一起 Aansbile 文件和命令 ansible.cfg inventory = /etc/ansible/hosts #这个参数表示资源清单inventory文件的位置 library = /usr/share/ansible #指向存放Ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就可以 forks = 5 #并发连接数,默认为5 sudo_user = root #设置默认执行命令的用户 remote_port = 22 #指定连接被管节点的管理端口,默认为22端口,建议修改,能够更加安全 host_key_checking = False #设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例 timeout = 60 #设置SSH连接的超时时间,单位为秒 log_path = /var/log/ansible.log #指定一个存储ansible日志的文件(默认不记录日志) inventory 文件 不分组……

阅读全文

jenkins简介

什么是CI和CD CI(Continuous integration,中文意思是持续集成)/ CD(Continuous Delivery, 中文意思持续交付) CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。 CI/CD 的核心概念是持续集成、持续交付和持续部署。它是作为一个面向开发和运营团队的解决方案,主要针对在集成新代码时所引发的问题(也称为:“集成地狱”)。 CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。 jenkins简介 Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。可集成使用版本控制工具有SVN、GIT,以及构建工具有Maven、Ant、Gradle。 特点 易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持 易于配置-所有配置都是通过其提供的web界面实现; 有大量的插件可以配置使用,比如email通知结果,git,maven 附带了很多其他的功能比如用户密码的加密 可以支持备份,迁移,升级 还可以通过完全编程的方式Jenkinsfile,devops来实现纯代码的方式完全CI/CD 可以支持分布式的多个slave agent 可以保存每次build日志方便查阅 CI/CD 优势 1. 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量 2. 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能 3. CI/CD 具有高度的自动化 就是减少人工操作的事务,可以通过预先准备的脚本一次性运行,是我们内部或者外部用户,得到用户对于新版本的快速反馈,并且可以迅速处理任何明显的缺陷. 放几张图 ……

阅读全文