本文概述
- DevOps工具
- 规划与合作
- 源代码管理
- 建立
- 配置管理
- 持续集成
- 持续安全
- 测试中
- 监控方式
- 云托管
- 集装箱化/编排
DevOps是近来在技术领域中最大的流行语之一, 因为它为组织带来了巨大的收益, 可缩短他们的软件开发生命周期。
什么是DevOps?
对于” 什么是DevOps” 这个问题, 没有单一的定义或正确的答案?
DevOps不是工具, 技术或任何框架。它更多是一种哲学和一个概念。它是将软件开发(Dev)和IT操作(Ops)结合在一起的一组实践, 有助于缩短系统开发生命周期, 并提供具有高质量软件的持续集成和交付。
如果你是初学者, 请查看此介绍文章或参加此在线课程– Docker是绝对的初学者。
DevOps的好处
- 改善协作与沟通
- 更快的软件或产品交付
- 持续降低成本
- 改善流程
- 更快地解决问题
DevOps工具分享到Twitter
在脸书上分享
通过电子邮件共享
规划与合作JIRA
JIRA是Atlassian开发的流行的项目管理工具之一, 用于问题, 错误和项目跟踪。它允许用户跟踪项目和发布状态。除了Jenkins等其他DevOps工具外, 它还可以轻松与Bitbucket等其他Atlassian产品集成。
Slack
Slack是一种基于免费增值云的协作工具, 可在一个地方进行团队沟通和协作。该工具还可用于在团队成员之间共享文档和其他信息。这也可以轻松地与其他工具集成, 例如GIT, Jenkins, JIRA等。
Zoom
Zoom是一个网络会议和即时屏幕共享平台。你可以让你的团队通过音频或视频加入。
不论你的团队有多大, Zoom最多可以容纳1000位收件人参加在线会议。
Clarizen
Clarizen是一款协作式项目管理软件, 可帮助问题跟踪, 任务管理和项目组合管理。它易于定制, 并具有用户友好的交互式用户界面。
Asana
Asana是一款基于Web的移动应用程序, 旨在帮助团队以有效和高效的方式组织, 跟踪和管理其工作。它用于跟踪团队的日常任务, 并支持整个组织内的消息传递和交流。
源代码管理SVN
SVN是Apache开发的集中化版本和源代码控制工具。它可以帮助开发人员维护不同版本的源代码, 并维护所有更改的完整历史记录。
Git
Git是一个分布式版本控制系统, 旨在提高速度, 数据完整性, 支持分布式非线性工作流。除源代码管理外, 它还可用于跟踪任何文件集的更改。
Bitbucket
Bitbucket是Atlassian开发的基于Web的托管平台。 Bitbucket还提供了有效的代码检查系统, 并跟踪代码中的每个更改。它可以轻松地与其他DevOps工具集成, 例如Jenkins, Bamboo。
Github
GitHub是一个用于版本控制和协作的代码托管平台。除了其功能之外, 它还提供了Git的所有分布式版本控制和源代码管理(SCM)功能。
它为项目提供访问控制和协作功能, 例如错误跟踪, 功能创建和请求, 任务管理等。
构建Ant
Apache Ant是基于Java的开源构建和部署工具。它支持XML文件格式。它具有多个内置任务, 使我们能够编译, 组装, 测试和运行Java应用程序。
Maven
Maven是主要用于Java项目的构建自动化工具。它包含一个XML文件, 该文件描述了正在构建的软件项目, 其对其他外部组件和模块的依赖关系, 构建顺序, 目录以及其他所需的插件。
Grunt
Grunt是一个javascript命令行工具, 可帮助构建应用程序并帮助开发人员自动化重复性任务, 例如编译, 单元测试, 代码整理和验证等。它是Make或Ant之类的工具的理想替代品。
Gradle
Gradle是一个基于Apache Maven和Apache Ant的概念的开源构建自动化系统。它支持Groovy适当的编程语言, 而不是XML配置文件。它通过自动确定构建的哪些部分是最新的来为增量构建提供支持。
配置管理Puppet
Puppet是一种开源配置管理工具, 用于配置, 部署和管理众多服务器。该工具支持将基础架构作为代码的概念, 并以Ruby DSL编写。它还支持根据需要动态缩放机器。
Chef
Chef是Opscode使用Ruby开发的一种开源配置管理工具, 用于管理虚拟机或物理机上的基础架构。它还有助于在虚拟机, 物理机和云计算机上即时管理复杂的基础架构。
Ansible
Ansible是一种开源IT配置管理, 软件供应, 业务流程和应用程序部署工具。它是一个简单而强大的工具, 可以自动化简单和复杂的多层IT应用程序。
SaltStack
SaltStack是用python编写的开源软件, 并使用push模型通过SSH协议执行命令。它同时支持水平和垂直缩放。它支持YAML模板以写下所有脚本。
Terraform
Terraform是一种开源工具, 用于安全, 高效地构建, 更改, 部署和版本化基础架构。它用于管理现有和流行的服务提供商以及自定义的内部解决方案。它有助于在配置/代码中定义基础架构, 并使用户能够轻松地重建/更改和跟踪基础架构的更改。
Vagrant
Vagrant是用于构建和管理虚拟机(VM)的流行工具之一。它具有易于使用和可配置的工作流, 专注于自动化。它有助于减少开发环境的建立时间, 提高生产平价。
持续集成Jenkins
Jenkins是最受欢迎的开源DevOps工具之一, 可支持通过DevOps进行持续集成和交付。无论平台用户在各种构建和部署管道的帮助下进行何种工作, 它都可以实现项目的持续集成和持续交付。 Jenkins可以与多种测试和部署工具集成。
Travis CI
Travis CI是一个由云托管的分布式连续集成平台, 用于构建和测试托管在GitHub和Bitbucket上的项目。通过添加YAML文件进行配置。
开源项目可以免费进行测试, 私有项目可以免费进行测试。
Bamboo
Bamboo是Atlassian开发的支持无缝持续集成的流行产品之一。它的大多数功能都是预先构建的, 这意味着我们不需要下载其他插件, 例如Jenkins。它还支持与其他Atlassian产品(如JIRA和Bitbucket)的无缝集成。
Hudson
Hudson是用Java编写的免费软件, 可在Servlet容器(如GlassFish和Apache Tomcat)中运行。它提供了在相应的源管理系统(如GIT, SVN等)中进行任何更改来触发自动化套件的功能。它还为所有maven和Java基础项目提供了支持。
TeamCity
TeamCity是基于服务器的持续集成, 并构建了由JetBrains开发的管理工具, 它具有简单易用的用户界面(UI), 并提供构建进度, 深入挖掘所有配置和项目的构建信息和历史信息。
CircleCI
CircleCI以基于云的形式以及用于持续集成的本地解决方案的形式提供。它很容易快速启动并支持轻便易读的YAML配置。
持续安全Snyk
将Snyk集成到开发生命周期中, 以自动查找和修复开源安全漏洞。它支持JS, .Net, PHP, NPM, jQuery, Python, Java等, 并且可以集成到编码, 代码管理, CI / CI, 容器和部署中。
Snyk获得了最大的开源漏洞数据库。
Netsparker
Netsparker会自动扫描你的应用程序是否存在安全漏洞, 并提供可操作的分类报告, 以便你可以根据优先级采取措施。 DevOps安全方案将检查新提交并将错误直接报告给Jira或GitHub等跟踪系统, 并在开发人员修复后重新扫描。你会看到它集成在SDLC的每个阶段。
测试Selenium
Selenium是最流行的开源测试工具。它支持跨各种浏览器和操作系统的测试自动化。它可以轻松地与ALM, JIRA等测试管理工具以及Jenkins, Teamcity, Bamboo等其他DevOps工具集成。
TestNG
TestNG是一个开放源代码测试框架, 由Junit和Nunit设计和启发。它可以轻松地与selenium Web驱动程序集成, 以配置和运行自动化测试脚本。它还会生成不同的测试报告, 例如HTML或XSLT。
JUnit
JUnit是开发人员用来编写和运行可重复测试用例的开源单元测试框架。它支持不同的测试注释, 任何开发人员都可以使用它们来编写无缝的单元测试用例。它可以轻松地与其他DevOps工具集成, 例如Jenkins, GIT等。
监控Nagios
Nagios是开放源代码, 并且是用于连续监视的最受欢迎的工具之一。 Nagios帮助在DevOps文化中监视系统, 应用程序, 服务和业务流程。当基础结构出现任何问题时, 它会向用户发出警报, 并在问题解决后也向用户发出警报。
Grafana
【DevOps工具的终极清单】Grafana是一个开源分析平台, 用于监视来自基础架构, 应用程序和硬件设备的所有指标。你可以可视化数据, 创建和共享仪表板, 设置警报以及进行协作。你可以从30多个源中提取数据, 包括Prometheus, InfluxDB, Elasticsearch, AWS CloudWatch等。
Sensu
Sensu是一个用Ruby编写的开源监视工具, 可帮助你简单有效地监视服务器, 服务, 应用程序, 云基础架构。它易于扩展, 因此我们可以轻松监视数千台服务器。
New Relic
New Relic是用于应用程序性能监视(APM)的软件分析产品, 它提供有关Web应用程序性能以及最终用户对其的满意度的实时数据和趋势数据。它支持端到端事务跟踪, 并以各种颜色编码的图表, 图形和报告显示它们
Datadog
Datadog是基于代理的服务器度量工具。它支持与不同的Web服务器, 应用程序和云服务器的集成。其仪表板服务提供了有关整个基础架构实时监控的各种图表。
ELK
ELK是由Elastic公司开发, 管理和维护的三种开源产品(Elasticsearch, Logstash和Kibana)的集合。它允许用户从任何来源以任何格式获取数据, 然后实时搜索, 分析和可视化该数据。
云托管AWS
AWS是由Amazon创建的网络托管平台, 可提供灵活, 可靠, 可扩展, 易于使用, 可扩展且具有成本效益的解决方案。使用此云平台, 我们无需担心建立IT基础架构的过程, 该过程通常会花费相当长的时间进行设置。
Azure
Azure是一个云计算平台, 由Microsoft设计, 用于通过其数据中心的全球网络构建, 部署, 测试和管理应用程序和服务。 Microsoft Azure提供的服务采用PaaS(平台即服务)和IaaS(基础架构即服务)的形式。
GCP
Google Cloud是Google提供的一整套公共云托管和计算服务。它支持使用Google硬件的各种计算, 存储和应用程序开发服务。
集装箱化/编排Docker
Docker是使用容器创建, 部署和运行应用程序的工具。该容器使开发人员可以将应用程序及其所需的所有组件和子组件(例如库和其他依赖项)打包在一起, 并以单个包的形式将其全部交付出去。这项工作基于船舶的概念, 可在任何地方运行。
Kubernetes
Kubernetes是最初由Google设计的开源容器编排系统, 现在由Cloud Native Computing Foundation维护。它用于自动化应用程序的部署, 扩展和管理。它也可以与其他容器工具(包括Docker)一起使用。
总结
希望以上列出的工具对你的DevOps旅程有所帮助。
推荐阅读
- Docker网络操作详解
- make(g++:在CentOS/RHEL 7上找不到命令-已修复)
- 家庭记账本安卓版开发(第四天)
- android------解决editText只输入一行和textView不显示过多的内容
- StrutsAPP_PATHStartSystemListener
- Writing a Foreign Data Wrapper
- 家庭记账小账本Android studio
- Android Studio 制作出来的9图无法进行拖拉,导致无法制作出正确的9图
- 15.Android-实现TCP客户端,支持读写