首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Capistrano被Docker和Kubernetes取代了

但我当然还记得Capistrano,这是一种流行于2010年代初的远程服务器自动化工具——它实际上是容器和Kubernetes之前的工具。 我有时对随着时间流逝失去流行度的常用技术感兴趣。...更新可能是一个新的可执行文件,可能是一些代码,可能是一些配置,可能是一些数据库更改。很好,但为什么要回顾一个不再常用的系统呢? 首先,为了理解趋势,回顾过去的例子很有帮助。...环境 Capistrano了解您将处理的三个基本环境: 通常是生产,暂存和开发。开发环境可能是笔记本电脑;暂存环境可能是某种QA可以访问的云服务器。...总体而言,其他语言和语言趋势在流行度上已经超过了它: 例如,Python已经成为首选的脚本语言。所示的任务使用了一个DSL,它实际上是ruby Rake构建工具。 是否损失了什么呢?可能。...更好的说法可能是,像Capistrano这样的工具出现在任何团队的部署之旅的路径上,作为在需要更广阔的视野之前的一个路径点。

7610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用Capistrano,Nginx和Puma在Ubuntu 14.04上部署Rails应用程序

    有很多可供选择(rbenv,chruby等),但我们将在本教程中使用RVM。RVM允许您在同一系统上轻松安装和管理多个rubies,并根据您的应用使用正确的一个。...,可帮助您管理应用程序版本并在进行部署时自动执行某些任务: 使用production作为Rails应用程序的默认环境 自动管理应用的多个版本 使用优化的SSH选项 检查您的git遥控器是否是最新的 管理您应用的日志...这会侦听端口80上的流量并将请求传递给您的Puma套接字,将nginx日志写入应用程序的“当前”版本,压缩所有资产并在浏览器中将其缓存到最大到期时间,在公共场合提供HTML页面文件夹作为静态文件,并设置默认的最大值...这可能需要5-15分钟,具体取决于您的应用使用的Gems数量。在此过程发生时,您将看到调试消息。 如果一切顺利,我们现在准备将您的Puma Web服务器连接到Nginx反向代理。...,您必须在服务器上重新加载或重新启动Nginx服务: deploy@droplet:~$ sudo service nginx restart 结论 现在你将在你的服务器上运行一个Rails应用程序,Puma

    5K40

    云服务器上的asp文件有什么作用?云服务器上运行不了asp 版本低怎么办?

    拥有网站服务器才可以存储各种文件,网站里面的云服务器使用还是非常广泛的,在使用云服务器的时候需要加载各种文件才可以正常运行,比如asp文件就是非常重要的一种文件,那么云服务器上的asp文件有什么作用?...云服务器上运行不了asp 版本低怎么办? 云服务器上的asp文件有什么作用?...了解过云服务器的都知道这里面是需要很多不同文件的,内部文件的正常运行才可以支持网页访问,那么云服务器上的asp文件有什么作用?...网页内容中比较多的就是各种图片了,除了静态图片之外还有很多动态图,通过asp文件就可以将静态网页解析为动态网页。 云服务器上运行不了asp 版本低怎么办?...很多人在使用云服务器的时候会遇到asp文件无法使用的情况,比如云服务器上运行不了asp 版本低怎么办?

    12K20

    DevOps工具介绍连载(6)——Capistrano

    首先是安装,其实 Ubuntu 上面安装 Capistrano 非常简单: gem install capistrano 然后,进入项目目录,运行下面命令生成 Capistrano 的配置文件: cap...lib/ capistrano/ tasks/ 在 config 中存放的的各个环境的配置文件,而我,就是在配置这个的时候产生的问题。...按照注释所说,它有两种方式配置,但其实都只干了一件事,就是配置部署服务器。...,一个是本地连接远程服务器不通,第二个是远程服务器连接 Git 服务器不通,因为 Capistrano 的运行原理就是从本地连接远程服务器,然后在远程服务器上执行 Git 命令,克隆最新代码到远程服务器的发布目录上面...这里都是使用的 ssh key 的方式进行连接。 本地连接远程服务器不通,可以参考 设置_SSH_Key_登录服务器和_Git_服务器 在本地生成两个 Key,把公钥放服务器上,私钥放本地。

    1K20

    利用Kamal摆脱Kubernetes的复杂性

    DHH(他以缩写而闻名)去年宣布出于纯粹的经济原因离开了云。如果你有能力在自己管理的机架上运行软件(就像以前每个人都不得不做的那样),显然可能比使用亚马逊 AWS 更便宜,特别是如果你有固定的需求。...本文的其余部分将介绍 Capistrano 的替代品 Kamal。它基本上是通过 Docker 用于容器的 Capistrano。...我们可能需要记住的另一件事是,Docker Hub 是容器镜像的官方仓库。如果我登录到 hub.docker.com,我仍然可以看到一些旧的镜像 —— 就像在 GitHub 上的仓库一样。...deploy.yml 文件保存了各种东西的目标位置,而 .env 文件将保存我们可能不会提交到源代码控制的“机密”信息。因此,这个 .env 文件会按名称添加到各种 .ignore 文件中。...实际上,在部署之前,这些内容是必需的。在 DevOps 环境中,不是每个工程师都应该可以访问这些文件,但每个人都需要知道它的作用。 然后,我们使用 kamal setup 启动系统。

    15410

    容器并不能解决一切问题

    你是否在分法虚拟机镜像?静态可执行文件?需要特定解释器的脚本?...根据你对这些问题的回答,你可能已经使用了 Capistrano、Puppet、shell 脚本、Ansible、deb 或 rpm 包、cloud-init 脚本、专有云技术、upstart、systemd...Docker 解决了许多重要的部署问题,所以接下来要问的问题是 Docker 是否为开发提供了任何优势。拥有一个看起来(至少大体看起来)像生产环境的开发环境有很多好处。...例如,如果你在 Node.JS 中编写一个依赖于 Postgres 的 API,那么你可以在 nodejs 容器中运行代码(可能在它前面有一个文件监视器),在 Postgres 容器中运行 Postgres...无服务器产品通常比预留产品有更好的成本模型,但仍然必须考虑成本。 开发人员是否共享共同的开发基础设施?

    52840

    容器并不能解决一切问题

    你是否在分法虚拟机镜像?静态可执行文件?需要特定解释器的脚本?...根据你对这些问题的回答,你可能已经使用了 Capistrano、Puppet、shell 脚本、Ansible、deb 或 rpm 包、cloud-init 脚本、专有云技术、upstart、systemd...Docker 解决了许多重要的部署问题,所以接下来要问的问题是 Docker 是否为开发提供了任何优势。拥有一个看起来(至少大体看起来)像生产环境的开发环境有很多好处。...例如,如果你在 Node.JS 中编写一个依赖于 Postgres 的 API,那么你可以在 nodejs 容器中运行代码(可能在它前面有一个文件监视器),在 Postgres 容器中运行 Postgres...无服务器产品通常比预留产品有更好的成本模型,但仍然必须考虑成本。 开发人员是否共享共同的开发基础设施?

    68620

    DevOps工具介绍连载(1)

    集中配置管理系统 puppet puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。...puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。...https://www.cnblogs.com/keerya/p/8040071.html Chef Chef 是一款自动化服务器配置管理工具,可以对所管理的对象实行自动化配置,如系统管理,安装软件等。...https://www.jianshu.com/p/97db5cd55d61 Capistrano Capistrano是一种在多台服务器上运行脚本的开源工具,它主要用于部署web应用。...它自动完成多台服务器上新版本的同步更新,包括数据库的改变。

    1K20

    一键实现自动化部署(灰度发布)实践

    2.1 Jenkins Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。...2.9 TeamCity TeamCity 是一个来自Jet Brains的CI服务器。TeamCity 有智能的配置功能和拥有官方Docker镜像服务器和代理。...2.15 Distelli Distelli 专门在任何地方部署Kubernetes集群,除了可以在任何云或物理服务器上使用。...2.19 Capistrano Capistrano 是一个开源部署工具,使用Ruby开发。Capistrano 文档具有脚本语言和“理智的,富有表现力的API。”...一般可以将需要回滚的版本先列出来,然后将现有的软链接文件删除,重新将上一个版本的源文件生成一个软链接至目标目录,然后重新启动服务,进行自动化测试,最终加入集群。

    1.4K20

    60个DevOps开源工具,你在用哪些?

    利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。...2.Capistrano Capistrano 是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用的。...并且,Continuum 可以作为 Windows 服务运行,还在应用程序的某些部分嵌入了上下文敏感的文档,从而提供了很多帮助。 7.LuntBuild LuntBuild 是一个强大自动构建的工具。...2.Puppet Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件...如包装,服务和文件。

    1.8K90

    60个DevOps开源工具,你在用哪些?

    利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。...2.Capistrano Capistrano 是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用的。...并且,Continuum 可以作为 Windows 服务运行,还在应用程序的某些部分嵌入了上下文敏感的文档,从而提供了很多帮助。 7.LuntBuild LuntBuild 是一个强大自动构建的工具。...2.Puppet Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件...如包装,服务和文件。

    1.1K00

    Flex的起步推动新语言学习

    在众所关注的Babble开发所使用的技术上,Holl和大家分享道: 我们有4个开发人员参与了Babbel的开发,其中2个关注Flex客户端,另外2个则开发了运行在Amazon EC2实例上的基于Ruby...服务器端的实现包括了12000的Ruby代码,Flex客户端的实现大概有50000行代码(包括7000行自动生成的集成代码)。...);通过Ant/Capistrano自动构建/部署(automated builds/deployment )等等。...然而,对于某些功能(比如“people search”)将数据以这样的方式封送处理似乎不是很合适,通过编写代码来动态的创建GUI元素纯粹是浪费。...客户在服务器端的相关变化,服务器会在回应下一个客户请求的时候通知客户(这就不再需要push构架),客户收到通知以后再由其本身决定是否要与客户端同步。 什么技术可以推动Bebbel将来的发展?

    84280

    转--我们为什么选择Golang重构Worker系统

    我翻译下关键几点: Parse面临的问题 Parse跟暴漫的技术栈比较相似: 服务器Unicorn,部署使用Capistrano。...还是生态的问题,导致实现某些功能的时候无轮子可用。 JRuby Parse现在是Ruby实现,所以JRuby就是正确的选择? JRuby基于rvm可以并发处理大量请求,看起来非常不错。 不是的!...C c#有非常好的并发模型支持。不过在Linux上。。。还是看下一条吧 Golang Golang语言效率高,语言层面支持并发,语法非常简单 易于上手,并发模型容易理解。...(我们重构之前只给团队讲了一个小时的语法,然后给了一些些好的worker作为参考,然后大家都可以顺利的重构2-3个worker,在两周的时间内)。 应该是worker系统的最佳选择。...Parse在重构的时候考虑的是能容纳当前业务峰值的10倍的方案。我觉得我们在挑选方案的时候 也要有这种意识。虽然有些方案确实也可以解决目前的困境,但是对以后的架构调整是否有益,或者说兼容

    1.2K50

    60个DevOps开源工具,你在用哪些?

    利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。...2.Capistrano Capistrano 是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用的。...并且,Continuum 可以作为 Windows 服务运行,还在应用程序的某些部分嵌入了上下文敏感的文档,从而提供了很多帮助。 7.LuntBuild LuntBuild 是一个强大自动构建的工具。...2.Puppet Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件...如包装,服务和文件。

    85220

    Ruby 应用容器封装踩坑记录(Lobsters)

    在此记录下,希望能帮到有相同需求的同学。 写在前面 首先回答为什么要考虑对 Ruby 应用进行容器化封装。...上一回合中,构建镜像出现警告的根本原因在于文章开头我们指定了BUNDLED WITH 1.17.3。...在容器镜像文件中我们有定义 bundle install--no-cache,所以这里错误提示后的建议的内容是不准确的,推测这里的问题是缺失 rake 依赖包,在镜像文件中添加命令,对其进行安装。...bundle list 会发现当前环境已经能够根据我们的文件声明正确安装依赖了: bundle list | grep puma * capistrano3-puma (4.0.0) *...在写完这篇文章后,我对本地和服务器上进行了构建过程镜像清理,清理了大概 50 G 左右的过程产物。 --EOF

    7.4K10

    60 个最棒的 DevOps 开源工具

    利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用 Git 作为底层版本控制系统。...Capistrano Capistrano 是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用的。...并且,Continuum 可以作为 Windows 服务运行,还在应用程序的某些部分嵌入了上下文敏感的文档,从而提供了很多帮助。 LuntBuild LuntBuild 是一个强大自动构建的工具。...Puppet Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件。...服务开通 Puppet Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件

    4.5K31
    领券