内容简介:开发和运营的整合为软件开发带来了新的视角。如果您是DevOps实践的新手,或者希望改进当前流程,那么了解哪种工具最适合您的团队可能是一项挑战。我们将这个列表放在一起,以帮助您做出明智的决定,确定哪些工具应该是您的堆栈的一部分。那么,让我们来看看几个最好的DevOps工具,从自动构建工具到2018年最好的开源DevOps工具
开发和运营的整合为软件开发带来了新的视角。如果您是DevOps实践的新手,或者希望改进当前流程,那么了解哪种 工具 最适合您的团队可能是一项挑战。
我们将这个列表放在一起,以帮助您做出明智的决定,确定哪些工具应该是您的堆栈的一部分。那么,让我们来看看几个最好的DevOps工具,从自动构建工具到 应用程序性能监控平台 。
2018年最好的开源DevOps工具
1. Gradle
DevOps工具堆栈需要一个可靠的构建工具。Apache Ant和Maven多年来一直主导着自动化构建工具市场,但 Gradle 在2009年出现在现场,并且其受欢迎程度自那时起稳步增长。
Gradle是一个非常通用的工具,它允许您使用Java,C ++,Python或其他语言编写代码。Gradle还受到Netbeans,Eclipse和IntelliJ IDEA等流行IDE的支持。如果这不能说服你,那么谷歌也会选择它作为Android Studio 的 官方构建工具 可能会有所帮助。
虽然Maven和Ant使用XML进行配置,但Gradle引入了基于Groovy的DSL来描述构建。2016年,Gradle团队还发布了 基于Kotlin的DSL ,现在您也可以在Kotlin中编写构建脚本。这意味着Gradle确实有一些学习曲线,所以如果您以前使用过Groovy,Kotlin或其他JVM语言,它可以提供很多帮助。此外,Gradle使用Maven的存储库格式,因此如果您之前有使用Maven的经验,那么依赖管理将会很熟悉。您还可以 将Ant构建 导入Gradle。
关于Gradle的最好的事情是 增量构建 ,因为它们节省了大量的编译时间。根据Gradle的 性能测量结果 ,它比Maven快100倍。
这部分是因为增量,但也是由于Gradle的 构建缓存 和 守护进程 。构建缓存重用任务输出,而Gradle Daemon在构建之间的内存中保持构建信息热。
总而言之,Gradle允许更快的运输,并提供了许多配置可能性。
2.git
Git 是最受欢迎的DevOps工具之一,广泛应用于整个软件行业。它是一个分布式SCM(源代码管理)工具,深受远程团队和开源贡献者的喜爱。Git允许您跟踪开发工作的进度。您可以保存源代码的不同版本,并在必要时返回到以前的版本。它也非常适合进行实验,因为您可以创建单独的分支并仅在它们准备就绪时合并新功能。
要将Git与您的DevOps工作流程集成,您还需要托管您的团队成员可以推动其工作的存储库。目前,两个最好的在线Git repo托管服务是 GitHub 和 Bitbucket 。GitHub更为知名,但Bitbucket为小型团队(最多五个团队成员)提供免费无限制的私人回购。使用GitHub,您只能免费访问公共回购 - 这对许多项目来说仍然是一个很好的解决方案。
GitHub和Bitbucket都有很棒的集成。例如,您可以将它们与Slack集成,以便每当有人进行新的提交时,团队中的每个人都会收到通知。
3.Jenkins
Jenkins 是许多软件开发团队的首选DevOps自动化工具。它是一个开源CI / CD服务器,允许您自动化交付管道的不同阶段。Jenkins受欢迎的主要原因是其巨大的插件生态系统。目前,它提供 了1000多个插件 ,因此它集成了几乎所有DevOps工具,从 Docker 到Puppet。
使用Jenkins,您可以根据自己的需要设置和自定义CI / CD管道。我在 Jenkins Docs中 找到了以下示例。而且,这只是其中一种可能性。不错,不是吗?
开始使用Jenkins 非常容易,因为它在Windows,Mac OS X和 Linux 上都是开箱即用的。您也可以 使用Docker 轻松 安装它 。您可以通过Web界面设置和配置Jenkins服务器。如果您是初次使用的用户,可以选择使用一些常用插件进行安装。但是,您也可以创建自己的自定义配置。
使用Jenkins,您可以尽快迭代和部署新代码。它还允许您衡量管道每个步骤的成功。我听说有人抱怨詹金斯的“丑陋”和非直观的用户界面,然而,我仍然能找到我想要的一切而没有任何问题。
竹子
4. Docker
Docker 是2018年的头号容器平台。它也被认为是最重要的DevOps工具之一。Docker使集装箱化在科技界广受欢迎,主要是因为它使分布式开发成为可能,并使应用程序的部署自动化。它将应用程序隔离到单独的容器中,因此它们变得便携且更安全。Docker应用程序也独立于操作系统和平台。您可以使用Docker容器而不是VirtualBox等虚拟机。
我最喜欢Docker的是你不必担心依赖管理。您可以将所有依赖项打包在应用程序的容器中,并将整个事物作为独立单元发送。然后,您可以在任何计算机或平台上运行该应用程序,而不必担心。
Docker也与 Jenkins 和 Bamboo 集成。如果将其与其中一个自动化服务器一起使用,则可以进一步改善交付工作流程。此外,Docker也非常适合云计算。近年来,AWS和Google Cloud等所有主要云提供商都加入了对Docker的支持。因此,如果您计划进行云迁移,Docker可以为您简化流程。
5. Kubernetes
今年,每个人都在谈论 Kubernetes 。它是一个容器编排平台,将集装箱化提升到了一个新的水平。它适用于Docker或其任何替代品。Kubernetes仍然很新; 它的第一个版本于2015年问世。它由几位Google工程师创建,他们希望找到一个大规模管理容器的解决方案。使用Kubernetes,您可以将容器分组为逻辑单元。
如果您只有几个容器,则可能不需要容器编排平台。但是,当您达到一定程度的复杂性并需要扩展资源时,这是下一个合乎逻辑的步骤。Kubernetes允许您自动化管理数百个容器的过程。
使用Kubernetes,您无需将容器化应用程序绑定到一台计算机上。相反,您可以将其部署到计算机群集。Kubernetes自动化整个集群中容器的分发和调度。
Kubernetes集群由一个主节点和几个工作节点组成。主节点实现预定义的规则,并将容器部署到工作节点。Kubernetes关注一切。例如,它注意到工作节点何时关闭并在必要时重新分配容器。
6. Nagios
Nagios 是最流行的免费和开源DevOps监控工具之一。它允许您监视基础结构,以便您可以找到并修复问题。使用Nagios,您可以记录事件,中断和故障。您还可以借助Nagios的图表和报告密切关注趋势。这样,您可以预测中断和错误并检测安全威胁。
尽管有许多用于基础架构监控的DevOps工具,但Nagios因其丰富的 插件生态系统 而脱颖而出。由于Nagios已经存在了一段时间(自2002年以来),它周围有一个庞大的社区。除了插件,他们还可以免费制作附加组件,教程,翻译和其他好东西。
Nagios提供四种开源监控解决方案:
- Nagios Core
- Nagios XI
- Nagios Log Server
- Nagios Fusion
Nagios Core是一个命令行工具,具有所有基本功能。您还可以选择附带基于Web的GUI和监视向导的Nagios XI。Nagios写了一个方便的 比较他们的能力 。
Nagios Log Server允许您搜索日志数据并设置有关潜在威胁的警报。而且,Nagios Fusion允许您同时监控多个网络。
总的来说,Nagios为DevOps团队提供了基础架构监控解决方案。但是,设置它并使其与您的环境兼容可能需要一段时间。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 15个最好的免费开源Linux Shell
- 2018年最好的10个开源DevOps工具!
- 力荐 35 个最好用的 Vue 开源库!
- imToken钱包开源代码 开发者最好的节日礼物
- 开发者总结了 8 种最好的 AI 机器学习开源项目
- 这可能是目前最好的图像超分辨率算法,刚刚开源了
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
TensorFlow:实战Google深度学习框架(第2版)
顾思宇、梁博文、郑泽宇 / 电子工业出版社 / 2018-2-1 / 89
TensorFlow是谷歌2015年开源的主流深度学习框架,目前已得到广泛应用。《TensorFlow:实战Google深度学习框架(第2版)》为TensorFlow入门参考书,旨在帮助读者以快速、有效的方式上手TensorFlow和深度学习。书中省略了烦琐的数学模型推导,从实际应用问题出发,通过具体的TensorFlow示例介绍如何使用深度学习解决实际问题。书中包含深度学习的入门知识和大量实践经......一起来看看 《TensorFlow:实战Google深度学习框架(第2版)》 这本书的介绍吧!
图片转BASE64编码
在线图片转Base64编码工具
随机密码生成器
多种字符组合密码