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

为什么Capistrano被Docker和Kubernetes取代了

David Eastman主持了一场技术版的古董鉴定节目,通过回顾前容器(甚至是Chef之前!)时代的软件工具Capistrano。...使用这些定义,Capistrano可以针对特定计算机执行操作。 任务和角色 Capistrano中的基本命令是任务。这些是在部署的不同阶段执行的。...安装后,您可以在命令行中使用以下命令触发此操作: cap production deploy 默认部署流程及相应的回滚流程。...请注意,在发布后创建或更新一个指向最新版本的"current"符号链接。如果在任何步骤中部署失败,current符号链接仍指向旧版本。 那么发生了什么?...是否损失了什么呢?可能。拥有一组自定义任务以进行快速更改确实鼓励了黑客方法,但它也允许进行较小的临时基于事件的更改。“使此更改发生”而不是“我总是希望服务器看起来像这样”。

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

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

    传统的部署方式有以下的缺点: 整个过程都需要人员参与,占用大量的时间,效率低下 上线、更新、回滚速度慢 存在一定的管理混乱,人为误操作的机率增大 所以,自动化部署的优势就通过这种对比显现出来了!...2、自动化部署的工具 有自动动部署的概念,就需要自动化部署的工具,今天来介绍下一些这方面的工具给大家,怎么用?如何用?大家根据实际需求来定,一切不以需求来定的工具、流程、方法等都是耍流氓。...2.19 Capistrano Capistrano 是一个开源部署工具,使用Ruby开发。Capistrano 文档具有脚本语言和“理智的,富有表现力的API。”...自动化部署的流程 大概的流程步骤如下: 获取代码 编译打包 移除目标服务器 解压文件到目标目录 拷贝差异化文件 重启服务 测试 重新加入集群 继续下一个节点或一组节点 如果在测试时出现问题,则需要回滚到上一次稳定版本...3、代码的部署使用tag,回滚原则为回滚到上个tag版本,所以部署脚本本身没有备份代码。

    1.4K20

    如何使用Capistrano自动部署:入门教程

    如何部署,这项任务确实被视为一件苦差事,似乎对您的项目几乎没有任何直接或附加价值。然而,一个精心设计的部署过程肯定有助于减少开销,例如不会浪费时间在让产品上线。...Capistrano是一个基于Ruby的工具,它为用户提供了在编译部署配方时利用Ruby干净清晰的语法的可能性。...可以修改这些配方以支持与Ruby(或Rails)无关的各种语言特定部署。 您可以将它们视为Capistrano用于执行其操作的脚本。...您只需使用以下内容即可获得Capistrano版本3: gem install capistrano 如果您想使用最新版本,可以链接到Github存储库: git clone https://github.com...在项目中启动Capistrano 启动Capistrano版本3与版本2略有不同,包含以下命令: # Usage: # Enter the project directory: cd [project-name

    2.3K20

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

    ,Gemfile.lock 中除了依赖更新外,bundle 版本有变化: BUNDLED WITH - 2.0.2 + 1.17.3 基本需要关注的内容都介绍完毕了,我们先使用上面提到的...第一回合:尝试升级 Ruby 2.4.0 第一回合在更新镜像 Ruby 依赖时,报了版本不兼容的错误。...本以为这个事情就这么愉快结束了,万万没想到紧接着出现了一个经典错误,环境和实际依赖不一致: Post-install message from capistrano3-puma: All...上一回合中,构建镜像出现警告的根本原因在于文章开头我们指定了BUNDLED WITH 1.17.3。...除了第三回合我们有指定 rake 版本外,其实最初的镜像也有声明 rake 的版本。所以我们先尝试将两条声明都删除,进行镜像构建测试: ...

    7.4K10

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

    第一回合:尝试升级 Ruby 2.4.0 第一回合在更新镜像 Ruby 依赖时,报了版本不兼容的错误。...本以为这个事情就这么愉快结束了,万万没想到紧接着出现了一个经典错误,环境和实际依赖不一致: Post-install message from capistrano3-puma: All plugins...上一回合中,构建镜像出现警告的根本原因在于文章开头我们指定了BUNDLED WITH 1.17.3。...除了第三回合我们有指定 rake 版本外,其实最初的镜像也有声明 rake 的版本。所以我们先尝试将两条声明都删除,进行镜像构建测试: ......至此,在第六回合中我们提到的问题就都解决了。 第十一回合:禁止安装非必要依赖 为了可维护性,去掉不必要的冗余“代码”是很必要的。

    4.9K00

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

    我们将使用Capistrano自动执行常见的部署任务,因此每次我们必须将新版本的Rails应用程序部署到服务器时,我们都可以通过一些简单的命令来实现。...由于有许多数据库可供选择,我们不会在本教程中介绍它们。 第三步 - 安装RVM和Ruby 我们不会直接安装Ruby。相反,我们将使用Ruby版本管理器。...,我们就可以开始安装Rubygems了。...(Skips Ri文档):不安装Ri Docs,节省空间并快速安装 --no-rdoc - (跳过RDocs):不安装RDocs,节省空间并加快安装速度 注意:您还可以使用以下-v标志根据您的要求安装特定版本的...完成部署后启动(或重新启动)Puma服务器 在发行版中的特定位置打开Puma服务器的套接字 您可以根据需要更改所有选项。

    5K40

    什么是GitOps以及如何使用 Spinnaker CICD 管道实现 GitOps

    声明式语言是非常高级的编程语言,其中程序指定要做什么而不是如何做。当您的应用程序在 Git 中以声明方式进行版本控制时,您将维护一个单一的事实来源。这很容易部署到 Kubernetes 管理的容器中。...2.版本控制: 使用版本系统,最显着的优势是您可以在出现任何问题时回滚到之前的应用程序状态。 3.自动化: 批准的更改需要自动应用于系统。...将更改推送到该特定分支后,将有一个相关的自动化管道负责将代码投入生产。这意味着,只要该特定分支管道流程有代码提交,该管道就会帮助测试和验证软件是否适合发布。...如果有回滚需求,您可以创建另一个拉取请求以回滚到之前的状态。...最终会引发 L0 事件,或者最坏的情况是回滚到以前的版本。 因此,我们建议在您的管道中实施合规性和验证,作为确保发布高质量软件和生产无风险的关键要素。

    1.7K30

    Linux下dpkg-query命令有何用,具体如何使用

    今天小编跟大家讲解下有关“Linux下dpkg-query命令有何用,具体如何使用”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。...下所安装软件列表: dpkg-query -W --showformat='${Package} ${Version}n' > filename 查看软件包详细信息: dpkg-query -s capistrano...查看软件包安装时安装到系统的文件列表: dpkg-query -L capistrano 列出所有安装的包: dpkg-query -l 查看软件包的确切状态(是否安装)以及版本号: dpkg-query...-W -f='${Status} ${Version}n' apache-perl Linux系统中dpkg-query命令的使用到此就介绍完毕了,如果你还有需要补充的,或者有疑问的,都可以来网站找小编解决...“Linux下dpkg-query命令有何用,具体如何使用”的内容就介绍到这里了,感谢大家的阅读。

    1.1K20

    云原生技术之kubernetes学习笔记(8)---Deployment控制器

    有时候,我们的新版本除了问题,滚动更新会失败,在滚动更新失败的时候,kubernetes为我们制定了特定的命令,来让滚动终止和回滚。...1、滚动升级失败了怎么回滚?...如果这个命令在回滚的过程中发生问题,失败了,我们就可以使用下面的命令来回滚这个滚动更新的操作: kubectl rollout undo deployment/nginx-deployment 2、如何获取所有版本...,需要注意,要想获取版本,在启动Deployment的时候,需要带上--record参数,形如下面这样: kubectl create -f deployment.yaml --record 3、如果回滚到指定版本...有了版本之后,我们可以通过版本号--to-version的方法,回滚到某个指定的版本: kubectl rollout undo deployment/nginx-deployment --to-revision

    72410

    git 基本操作命令

    一般公司用svn的比较多,至于原因,嘿嘿嘿.... # git git是一个分布式版本控制系统,没有中心服务器,每个人的电脑就是一个版本库,你的电脑上的Gitrepository就是你的版本库,那多人之间是如何合作的呢...现在可以打开你的demo.txt看看里面还有什么内容了。是不是少了最后添加的一行数据,只有一行数据了。回滚到添加0000的版本了。...超级回滚: 你需要回滚50个版本,总不能输入50个^号,所以有下面这种更简单的办法。 git reset --hard HEAD~50 1 # cat命令 使用cat查看内容。 ?...# git reflog 这个命令是告诉你所有操作的版本信息 ? 看到版本号了---a0ca311,接下来就可以使用这个版本号进行回滚到添加0000123456789的那个版本了。...# git reset --hard 版本号 下面是回滚到我的版本 git reset --hard a0ca311 1 ?

    63540

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

    使用 Capistrano 进行自动化部署 最近在折腾这个,弄了好多次都不成功,看了官方文档和很多博客,都没有说清楚,因此,我觉得有必要把它记录下来,以帮助更多像我这样被弄得烦躁的人。...首先是安装,其实 Ubuntu 上面安装 Capistrano 非常简单: gem install capistrano 然后,进入项目目录,运行下面命令生成 Capistrano 的配置文件: cap...Authentication failed for user @ #错误四:Permission denied (publickey,password) 发生错误根本原因有两个...这里还有一个坑,如果你在生成密钥文件时指定了文件名的话,那是不能直接使用的,具体如何使用我暂时没弄清楚,所以直接使用默认的文件名 id_rsa 就行啦。...配置完之后,可以先用 git clone git@:/.git 测试一下,正常的话应该能直接克隆项目而不需要再输入密码了。

    1K20

    Helm指南:Kubernetes包管理器简介

    它允许模块化和版本控制,使应用程序分发、共享和管理更易于跨各种集群和用户访问。 该包由多个文件和目录组成,每个文件和目录都有特定的功能。...如果需要回滚到以前的版本号,此历史记录很有用。...Helm rollback 该helm rollback [REVISION] [flags] 命令可用于回滚到该版本的任何先前版本。注意:回滚版本将收到新的版本号。...Helm 架构 该图更好地解释了 Helm 如何使用chart和values文件来管理 Kubernetes 集群中的发布(已部署的资源)。...这意味着有许多资源和最佳实践可帮助您充分利用 Helm。 往期推荐 如何实施有效的CI/CD流水线 GitOps –用于基础设施自动化的DevOps 如果这篇文章对您有帮助,欢迎转发点赞分享。

    66740
    领券