现代软件团队越来越多采用云计算,选择主持并使用云提供商和平台而不是内部内部解决方案运行其应用程序和基础架构。亚博直播平台

但是,在云中部署应用程序与在自己的数据中心中部署应用程序可能有很大的不同。在云中部署应用程序需要很多步骤——从构建到打包再到发布——而且手工部署会带来很多开销。

由于这些挑战,越来越多的软件开发团队正在采用连续集成和连续部署(CI / CD)因为他们寻求自动部署新的代码作为生产。幸运的是,许多工具专注于帮助您自动化所涉及的任务,从集成代码测试以构建打包和部署。无论您是从大型云提供商那里寻找一个单尺寸的解决方案,还是寻求建立自定义工具链以满足您的特定需求(例如从构建管道推送代码到正在部署上运行的Kubernetes集群平台)第一步是获得土地的铺设。

为了提供一个路线图,我们查看了按字母顺序列出的15个最常用的应用程序部署工具。但是请记住,没有一种工具适合每个团队。

不要错过:云基础设施自动化的最佳工具

送货员

在Windows和。net上开发应用程序的团队可能想看看AppVeyor,一个CI/CD平台。开源应用程序是免费托管的,企业客户可以选择本地安装和无限制的构建代理。AppVeyor支持GitHub、Bitbucket、GitLab和VSTS。

语言支持包括:.NET核心,C ++和Ruby
开发人员工具和合作伙伴集成包括:GitHub,Bitbucket都,GitLab, 和Amazon S3

AWS CodeDeploy.

如果你是一个亚马逊网络服务(AWS)AWS CodeDeploy是一种部署服务,它可以帮助您自动化应用程序的部署,无论您是使用单个应用程序部署应用程序AWS lambda.功能或数千次Amazon EC2实例。使用CodeDeploy,您可以使用一个地方管理您的部署AWS管理控制台或者AWS CLI。您甚至可以利用额外的工具亚马逊监测,这允许您在部署每个应用程序修订时准确地查看。

控件还可以将应用程序部署与现有的软件交付工具链集成AWS CodeDeploy api

语言支持:任何
开发人员工具和合作伙伴集成包括:阿特拉斯人,github,Hashicorp., 和詹金斯

AWS FARGATE.

这一条目为任何提供了坚实的供应亚马逊弹性容器服务(ECS)希望在不担心服务器或群集管理的情况下部署在容器中的应用程序。AWS FARGATE.abstracts away server configuration and management, so all you need to do is worry about packaging your applications and setting the CPU, memory, and other application requirements you desire, and AWS Fargate will launch the containers for you—and it’ll even scale them as needed. Like CodeDeploy, you can manage your deployments from one place using theAWS管理控制台或者AWS CLI

语言支持:任何
开发人员工具和合作伙伴集成包括:AWS CodePipeline,SUSE,介质圈, 和扭锁

竹子

竹子的一部分,Bamboo是一个构建,测试和部署平台,具有内置Git分支工作流和Jira Integration - 任何现代软件团队的必要功能,都是必不可少的功能。它在Amazon EC2集成上运行,因此它可以轻松地根据需要进行缩放。

语言支持:任何
开发人员工具和合作伙伴集成包括:码头工人,贾拉、Amazon S3和Apache Tomcat

Circleci.

虽然Circleci提供了一个内部部署解决方案,但这种基于云的服务不需要专用服务器。Circleci最常用于小型和开源项目,其中易于高效的部署是必不可少的。如果您在容器中的运输应用程序或移动设备,则Circleci附带了对Docker和iOS应用程序构建的支持。

语言支持包括:go,haskell,java,ruby,python,php和node.js
开发人员工具和合作伙伴集成包括:Docker,调味料实验室和jira.

代号

如果您进入容器,则代号是可能符合您的部署需求的托管,连续交付服务。CodeShip Pro使用Docker作为CI / CD的集装箱后端,但您的应用程序不必使用Docker,只是任何类型的容器。使用单租户AWS实例,您将获得符合您的标准的性能优化和安全性。

Codeship提供了多种强大的设置选项。目前,它集成了流行的源代码管理器GitHub和Bitbucket以及其他CI插件和工具。

语言支持包括:Java,Ruby,Python和Elixir
开发人员工具和合作伙伴集成包括:PagerDuty

谷歌应用引擎

的一部分谷歌云平台(GCP),谷歌应用程序引擎允许你使用你喜欢的语言或框架来构建和部署应用程序。App Engine提供了一个完全管理的基础设施平台,因此您只需担心正在构建的应用程序,而不必担心它们的主机配置。

对于有安全意识的团队,App Engine有自己的防火墙,并在您的自定义域上提供托管的SSL和TLS证书,而不需要额外的费用。和应用引擎集成了一些GCP云开发人员工具

语言支持包括:node.js,java,ruby,c#,go,python和php
开发人员工具和合作伙伴集成包括:Intellij的云工具,Android的Firebase测试实验室, 和Kubernetes.

专门为Kubernetes创建的包管理器,Helm可以轻松地部署在Kubernetes集群中的应用程序。在Helm中,应用程序资源在图表中定义,从一张图表中允许您安装多个应用程序实例,每个应用程序都有不同的配置。Kubernetes社区创造了大量的图表来让您开始,您可以找到像流行软件的图表PostgreSQL,Elasticsearch., 和Apache卡夫卡

语言支持:任何
开发人员工具和合作伙伴集成包括:Docker和polyaxon.

heroku.

这个基于容器的PaaS,托管在AWS云服务上,它抽象了你的基础设施关注点,让你专注于部署和管理你的应用程序。通过完整的GitHub集成,Heroku提供了应用程序运行状况监控和自定义redis.PostgreSQL数据库层的应用程序。其企业提供的基本功能包括访问控制和私人实例。

Heroku元素市场您可以下载或购买许多预设的附加组件和服务以扩展您的应用程序。

语言支持包括:Java,Python,Ruby,Clojure,Go,Scala,Node和PHP
开发人员工具和合作伙伴集成包括:IntelliJ,docker和github

IBM Cloud

以前称为IBM Bluemix,这个平台和服务(PAAS)提供合作伙伴CloudFoundry.并提供在传统服务器上运行应用程序或通过IBM云容器服务。应用程序开发团队可以利用像服务IBM WATSON.用于建立人工智能和其他基于认知的功能。IBM甚至提供了一个物联网(IoT)服务和移动后端支持连续交付各种应用。

语言支持包括:go,java,node.js,php,python和ruby
开发人员工具和合作伙伴集成包括:Salesforce和码头工人

詹金斯

Jenkins广受欢迎,显然已经赢得了领先的开源自动化服务器的地位。它提供了超过1400个插件,几乎涵盖了您可能需要执行的任何平台构建、打包和部署管理任务。使用Jenkins,您可以执行部署工作流,将CLI脚本转换为Jenkins作业,在蓝色海洋UI.,并利用一个管道插件运行并行或顺序作业。

语言支持包括:Python, Ruby, Java, Android, C/ c++
开发人员工具和合作伙伴集成包括:亚特西亚,Jfrog., PagerDuty

Kubernetes.

最初由Google开发,Kubernetes是一个容器编排平台,用于自动化集装箱应用程序的部署,缩放和管理。Kubernetes可以根据几乎任何云的微服务架构轻松地部署和操作应用程序。它通过在一组主机上创建抽象层来实现这一目标,因此开发团队可以部署他们的应用程序,让Kubernetes管理应用程序或团队的控制资源消耗,均匀地扩展应用程序加载,并自动加载平衡应用程序的不同实例的请求。

语言支持包括:go,python,java,javascript,c sharp
开发人员工具和合作伙伴集成包括:科罗斯Docker和JFrog

章鱼部署

如果您正在在Windows服务器上或在.NET Framework上部署应用程序,请查看章鱼部署。它提供自动应用程序部署,因此您的团队可以轻松地部署和推广环境之间的发布。使用章鱼,您可以限制谁可以部署到哪些环境和以编程方式促进基于测试的工作流程。

语言支持包括:ASP。NET、Java和Node.js
开发人员工具和合作伙伴集成包括:VSTS, Bamboo和Jenkins

Red Hat OpenShift

OpenShift提供基于容器的平台和公共云平台。OpenShift是在Docker上建立的(带有kubernetes for sorchestration),因此如果您的应用程序在Docker上运行,则可以使用IDE或CLI从OpenShift部署任何位置。主要功能包括动态容器存储和多租户。

语言支持包括:Java,Python,Ruby,.NET核心和Perl
开发人员工具和合作伙伴集成包括:詹金斯和Ruby在Rails.

特拉维斯CI

如果他们的应用程序托管在github上,开源应用商店可能喜欢从Travis CI进行持续集成——因为在这些情况下,它基本上是免费的。有了Travis CI,你可以部署到许多云工具上,包括Heroku、AWS Lambda和OpenShift。

语言支持包括:C,C ++,Ruby,Rust,Java,PHP,Python和Clojure
开发人员工具和合作伙伴集成包括:SauceLabs和Sonarcloud.

向上

如果您是向前思考的早期采用者进入无服务技术,则此工具可能只是您正在寻找的。用途AWS lambda.Amazon API网关部署您的应用程序,API和静态网站。Pro功能包括加密环境变量,通过电子邮件,短信文本提醒,以及松弛,以及加速优化的Amazon S3上传。

语言支持包括:node.js,golang,python,java,crystal和clojure
开发人员工具和合作伙伴集成包括:AWS lambda和github

Visual Studio团队服务(VSTS)

此托管部署软件运行在微软Azure.云,是平台不可知论者。VSTS提供版本控制和构建和发布管理,但还可以帮助您使用自己的构建和释放基础架构部署到任何平台,云提供商或App Store的应用程序。

利用此平台以实现其负载测试功能。
语言支持:任何
开发人员工具和合作伙伴集成包括:,intellij,和Android Studio

结论

就像我们的基础架构自动化工具,这些应用程序部署工具各自具有它们的优势,劣势和学习曲线。完全集成的解决方案,如来自云领导,亚博直播平台GCP和Azure的解决方案,提供了许多一站式福利。但大量的其他平台和服务提供了一系列有用的功能和集成。和詹金斯这样的工具在整个行业中都很顺利。

这篇文章只是彻底分析哪些工具适合使用的一个步骤你的云采用,当您努力优化客户体验并满足关键绩效指标。

从云获得最大值

凭借新的遗物,您可以更快地迁移,解决问题,并确保云采用倡议的完全成功。了解更多>

大卫·高乐(David gaulle)是New Relic的编辑。在加入公司之前,他曾担任AllBusiness.com的高级编辑。早在纸质书的时代,大卫就在哈珀柯林斯出版社(HarperCollins Publishers)和利特尔布朗公司(Little, Brown & Company)任职。查看贴子

对新遗物博客的写作有兴趣吗?亚搏体育登入网送我们一个球场!