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

为什么Capistrano被Docker和Kubernetes取代了

我记得在十多年前曾将Capistrano用作远程服务器自动化工具。它会使用SSH按照脚本允许您将更新部署到目标服务器。...使用这些定义,Capistrano可以针对特定计算机执行操作。 任务和角色 Capistrano中的基本命令是任务。这些是在部署的不同阶段执行的。...在本例中,我们可以在完成之前更新style.css文件: namespace :deploy do after :finishing, :upload do on roles(:web)...这些用于使用before和after子句将自定义任务挂钩到流程中,就像我们上面看到的那样。 请注意,在发布后创建或更新一个指向最新版本的"current"符号链接。...更好的说法可能是,像Capistrano这样的工具出现在任何团队的部署之旅的路径上,作为在需要更广阔的视野之前的一个路径点。

7610

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

它通过在SSH上编写任意工作流脚本,可以将Web应用程序可靠地部署到任意数量的远程计算机,并自动执行预编译和重新启动Rails服务器等常见任务。...我们将使用Capistrano自动执行常见的部署任务,因此每次我们必须将新版本的Rails应用程序部署到服务器时,我们都可以通过一些简单的命令来实现。...,在Rails应用程序中为Nginx和Capistrano创建配置文件。...输入以下命令来捆绑您的Rails应用程序: $ bundle 捆绑后,运行以下命令配置Capistrano: $ cap install 这将创建: Capfile 在您的Rails应用程序的根目录中...在您的Rails项目目录中创建config/nginx.conf,并向其添加以下内容(再次,替换为您的参数): config/ nginx.conf upstream puma { server unix

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

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

    我们将详细介绍Capistrano:一种基于Ruby的远程服务器自动化工具,可以轻松地用于自动化普通部署和系统管理任务。使用Capistrano,您几乎可以完全自动执行通常用于生产产品的所有操作。...与其他自动化库类似,使用Capistrano可以在虚拟服务器上执行任意功能而不会有直接干扰 - 通过让Capistrano执行脚本(即操作方式)。...Ruby编程语言 Ruby是一种通用的(即不是为解决特定问题而创建的),动态编程语言随着Ruby-on-Rails Web应用程序开发框架的发布而大受欢迎。...可以修改这些配方以支持与Ruby(或Rails)无关的各种语言特定部署。 您可以将它们视为Capistrano用于执行其操作的脚本。...在开发过程中,您可能需要在每个步骤中定期执行命令(例如,在进入部署周期之前)。

    2.3K20

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

    根据线索,我们在 Dockerfile 中添加一条命令,强制执行任务的 rake 软件版本。 RUN gem install rake --version 13.0.1; 继续新的尝试。...将我们之前在容器配置文件中的命令进行升级: - su lobsters -c 'gem update' + su lobsters -c 'gem update --system' 重新构建镜像...2.7.0 的镜像容器中执行 bundle list 会发现当前环境已经能够根据我们的文件声明正确安装依赖了: bundle list | grep puma * capistrano3-puma...或许你会疑问,为什么不考虑在最初就禁用这些依赖呢?因为后续我们考虑开发环境也在容器中进行,所以需要保障带有开发依赖的配置也能够被正确初始化。...在写完这篇文章后,我对本地和服务器上进行了构建过程镜像清理,清理了大概 50 G 左右的过程产物。 --EOF

    7.4K10

    《Prometheus监控实战》第8章 监控应用程序

    以加载metrics库,有几种方法可以做到这一点,但我最喜欢使用添加初始化程序的方式 代码清单:为metrics库创建初始化程序 touch config/initializers/lib.rb 然后在程序中添加对...metrics库的依赖 代码清单:文件/config/initializers/lib.rb require 'metrics' 我们可以为一些方法添加指标,让我们从删除用户的计数器开始 代码清单:删除用户的计数器...在示例中,我们通过以config.ru文件内添加exporter(和中间件收集器)来启用指标端点 代码清单:将Prometheus添加到config.ru文件中 require 'prometheus/...惧器将一些HTTP服务器指标添加到通过Rack中间件收集的端点 代码清单:Rails的/metrics端点 ? 使用指标 现在应用程序已生成指标,我们可以在Prometheus中使用它们。...让我们创建一个作业来抓取/metrics端点,然后把Rails服务器添加到基于文件的服务发现中,按主机名添加3个Rails服务器 代码清单:Rails服务器的服务发现 ?

    4.6K11

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

    根据线索,我们在 Dockerfile 中添加一条命令,强制执行任务的 rake 软件版本。 RUN gem install rake --version 13.0.1; 继续新的尝试。...将我们之前在容器配置文件中的命令进行升级: - su lobsters -c 'gem update' + su lobsters -c 'gem update --system' 重新构建镜像,再次启动应用...2.7.0 的镜像容器中执行 bundle list 会发现当前环境已经能够根据我们的文件声明正确安装依赖了: bundle list | grep puma * capistrano3-puma (...或许你会疑问,为什么不考虑在最初就禁用这些依赖呢?因为后续我们考虑开发环境也在容器中进行,所以需要保障带有开发依赖的配置也能够被正确初始化。...在写完这篇文章后,我对本地和服务器上进行了构建过程镜像清理,清理了大概 50 G 左右的过程产物。 --EOF

    4.9K00

    利用Kamal摆脱Kubernetes的复杂性

    让我们首先看一下创建的 deploy 文件。...如果我们打算使用数据库,上面的内容将缺少 MYSQL 密码。如果您更改了这些内容,需要明确使用 kamal env push 将其推送到系统中。实际上,在部署之前,这些内容是必需的。...在 DevOps 环境中,不是每个工程师都应该可以访问这些文件,但每个人都需要知道它的作用。 然后,我们使用 kamal setup 启动系统。...如预期的那样,如果我现在执行此操作,系统会迅速告诉我没有内容可以交流: 那么,Kamal 如何处理所有指定和可用的服务器呢? 连接到服务器后,如果需要,它将安装 Docker 和 curl。...然后,登录到镜像注册表,它将在本地构建镜像,然后将其推送到注册表中。接下来,它将从目标服务器中拉取镜像。在推送环境变量之后,它将使用当前版本的应用程序启动一个新容器,并停止旧容器。

    15510

    Gitlab安装使用及汉化配置

    支持低于2.3(2.1,2.2)的Ruby版本将停止与GitLab 8.13 #硬件要求 必要的硬盘驱动器空间很大程度上取决于您要存储在GitLab中的存档的大小,但是根据经验,您应该至少拥有与所有存档组合相同的可用空间...如果你希望在将来考虑使用LVM来安装硬盘驱动器空间方面具有灵活性,那么您可以在需要时添加更多的硬盘驱动器。 除本地硬盘驱动器外,你还可以安装支持网络文件系统(NFS)协议的卷。...在非常活跃的服务器(10,000个活跃用户)上,Sidekiq进程可以使用1GB的内存。...#重新初始化 [root@gitlab postgresql]# gitlab-ctlreconfigure #查看修改之后项目数量 注: 这个是在安装完gitlab之后修改,如果已经使用一段时间,在修改项目的数量...[root@gitlab opt]# cd/opt/gitlab/embedded/service/gitlab-rails/config/initializers [root@gitlab initializers

    6.3K60

    安装 GitLab CE

    ,比较熟知的开源版本控制软件有 CVS ,SVN 和 Git ,从目前使用情况来看最受欢迎的开源版本控制系统还是 Git 单单看 Git 所专注的版本控制功能,其强大与高效鲜有软件可以与其比拟,但是 Git...没有友好的管理界面和配备服务,大型项目管理的过程中也缺少权限管理的功能 于是世面上有各种基于 Git 的集成软件,GitLab 就是其中优秀的一款 Tip: 当前最新版本为 9.4.0 GitLab...and create a symlink to Rails root] action create * template[/var/opt/gitlab/gitlab-shell/config.yml.../config/resque.yml to /var/opt/gitlab/gitlab-rails/etc/resque.yml] action create - create symlink...up to date) * link[Link /opt/gitlab/embedded/service/gitlab-rails/config/initializers/smtp_settings.rb

    3.6K40

    Gitlab CE 8.1.3 安装手册(DebianUbuntu)

    ,执行这一步前先添加git用户,参照本文第4条""创建系统用户" sudo -u git -H bundle config mirror.https://rubygems.org https://gems.ruby-china.org...我们需要Go编译器来安装gitlab-git-http-server。 下面一系列的指令都将假定你用的是64位的Linux系统。你也可以在GoLang官方网站下载其他平台的Go编译器。...的服务器修改workers数量为3 sudo -u git -H vim config/unicorn.rb # 创建Rack attack 配置文件 sudo -u git -H cp config...Note: 自bundler1.5.2起,你可以使用bundle install -jN(N就是cpu核心数)安装Gems,速度比之前要快大约60%.详细的内容可以点此处查看.不过首先要确保你的bundler...fe Note:你也可以设置环境变量GITLAB_ROOT_PASSWORD,这样在初始数据库的时候就会使用你指定的密码,否则就是上面的默认密码。

    1.6K50

    Rails 7 中引入 Bootstrap 5

    ,但是 “Webpacker” 不仅在 Rails 中,在其他应用框架中也被广泛的使用。...在 Rails 7 中静态资源的管理已经从 “Webpacker” 改为了 “Import Maps”,用来简化基于 JavaScript 的工具和包管理器 Webpack、Yarn 或者 npm 的使用...图片第一种方式:仅引入 Bootstrap创建 Rails 项目首先使用 rails new 命令创建 Rails 项目:图片图片如果创建项目的时间过长,可以考虑更换 Ruby 的 Gem 源,使用 RubyChina...5bin/importmap pin bootstrap图片该命令执行后会在 config/importmap.rb 中添加命令行中打印出的内容。...s 命令启动 Rails 应用,在浏览器中输入 localhost:3000/home/index 查看 index 页面图片出现该页面说明引入的 Bootstrap 已经生效。

    3.1K50

    Rails 7 中引入 Bootstrap 5

    Rails 应用外很少使用,但是 “Webpacker” 不仅在 Rails 中,在其他应用框架中也被广泛的使用。...在 Rails 7 中静态资源的管理已经从 “Webpacker” 改为了 “Import Maps”,用来简化基于 JavaScript 的工具和包管理器 Webpack、Yarn 或者 npm 的使用...第一种方式:仅引入 Bootstrap 创建 Rails 项目 首先使用 rails new 命令创建 Rails 项目: 如果创建项目的时间过长,可以考虑更换 Ruby 的 Gem 源,使用 RubyChina...s 命令启动 Rails 应用,在浏览器中输入 localhost:3000/home/index 查看 index 页面 出现该页面说明引入的 Bootstrap 已经生效。...config/initializers/assets.rb 中添加内容: Rails.application.config.assets.precompile += %w( jquery3.min.js

    2.5K20

    如何在Ubuntu 14.04上使用Unicorn和Nginx部署Rails应用程序

    本教程将帮助您部署Ruby 在 Rails应用程序中的生产环境,使用PostgreSQL作为数据库,在Ubuntu 14.04上使用Unicorn和Nginx。...安装rbenv-vars插件 在部署生产Rails应用程序之前,应使用环境变量设置生产密钥和数据库密码。...在您喜欢的编辑器中打开Gemfile(确保您在应用程序的根目录中): vi Gemfile 在文件的末尾,使用以下行添加Unicorn gem: gem 'unicorn' 保存并退出。...如果要访问我们之前创建的Tasks控制器,请在Web浏览器中访问您的应用程序服务器: http://server_public_IP/tasks 您应该看到第一次测试应用程序时看到的页面,但现在它是通过...您已使用Nginx和Unicorn部署了Ruby在Rails应用程序的生产环境。 如果您希望改进生产Rails应用程序部署,您应该查看我们的如何使用Capistrano自动部署的教程系列。

    4.3K00
    领券