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

部署一个Sinatra应用程序到Heroku

Heroku是一个云应用程序平台,专门用于解决服务器管理问题。您只需构建您的应用程序,通过Git将其推送到Heroku,然后放松一下。那么当提到部署一个Sinatra应用程序呢?...假设您对本地应用程序感到满意,接下来要做的是确保您有一些文件: Gemfile config.ru 我在上面的帖子中描述的Gemfile包含对应用程序中使用的所有Ruby gems的引用: gem 'sinatra...Heroku并不支持Sqlite。 Sinatra是一个Rack应用程序,但Heroku与这些没有任何障碍。...然后,假设你已经提交了最新的更新,你可以这样做: git push heroku master 你会看到Heroku收到推送,压缩文件,安装所需的Ruby gems,运气好的话,你将可以部署你的应用程序...现在你需要做的就是继续开发你的应用程序,提交和Git推送到Heroku进行部署。

2.7K60

部署一个Sinatra应用程序到Heroku

Heroku是一个云应用程序平台,专门用于解决服务器管理问题。您只需构建您的应用程序,通过Git将其推送到Heroku,部署就完成了。但是该怎么部署一个Sinatra应用程序呢?...假设您认为本地的应用程序没有问题了,接下来要做的是确保您有下边这些文件: Gemfile config.ru 我在上面的帖子中描述的Gemfile包含在应用程序中使用的所有Ruby gems的引用: source...和Heroku不支持Sqlite。 Sinatra是一个构建应用程序的工具,但Heroku不是。...然后,假设你已经提交了最新的更新,你可以这样做: git push heroku master 你会看到Heroku收到推送请求,压缩文件,安装所需的Ruby gem,然后,没有问题的话,部署你的应用程序...现在你需要做的就是继续开发你的应用程序,提交,然后使用Git推送到Heroku进行部署。

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

    在Heroku中部署一个Sinatra应用程序

    Heroku是一个专门用于解决服务器管理问题的云应用平台。你只需构建您的应用程序,然后通过Git将其推送到Heroku就可以了。那么如何部署一个Sinatra应用程序呢?请往下看。...config.ru 其中Gemfile包含对应用程序中使用的所有Ruby gem的引用: gem 'sinatra' gem 'rdiscount' gem 'data_mapper' gem 'dm-migrations.../main' run Sinatra::Application 通过Git(一种源代码管理系统)可以将应用程序部署到Heroku 。...通过下面的操作将你的密钥连接到Heroku,这会用于与你在Heroku的计算机之间进行安全通信: heroku keys:add 系统会要求你添加你所创建的Heroku帐户的凭据。...完成了这些之后,就可以继续开发应用程序并使用Git推送到Heroku进行部署了。

    2.6K60

    放弃“免费套餐”,Heroku的遗产又少了一个

    Heroku 是一种平台即服务 (PaaS),是 2007 年创建的第一批云平台之一,可让开发者将 git 存储库推送到云端,然后神奇地获取在某处运行的应用程序的 URL。...如果没有 Heroku,我永远无法达到今天的水平,以至于现在我真的无法说清它对我的职业生涯曾经有多么重要!” 像他这样通过 Heroku 学习编程的,不是少数。...容器:很少有人记得它,但 Heroku 在容器还不流行的时候就已经开始运行了,使用 LXC 作为其 Cedar 栈的核心技术。...Heroku 也存在着令人不齿的退化情形,比如将组织功能构建在核心 API 之上,变成了一个单独的微服务,这是由于没有任何使其更加集成的机制。...在很多方面,Buildpack 对应用开发者来说,是一个更好的抽象层,他们不必为任何事情编写 Dockerfile,只要用 Gemfile、Cargo.toml 或 go.mod 等栈中常用的工具,然后让构建过程找出如何将其

    5.1K40

    Knative入门系列6:Knative的使用

    例如,使用 Ruby 应用程序,buildpack 将下载 Ruby 运行时并在 Gemfile 上运行 bundle install 以下载所有必需的依赖项。...我们在第 2 章展示了一个 Knative 路由如何可以用来将流量发送到特定的修订。以下部分将详细介绍 Knative Routes 如何实现蓝绿部署和增量部署。...但是,在开始向应用程序发送生产流量之前,我们希望确保它正常运行。 在例6-3中有一个名为 v2 的新路由,但没有路由到它的生产流量。...每个修订版仍可通过指定的子域访问,但用户流量将按百分比值进行拆分。...我们使用官方 Ruby 镜像作为基础,添加我们的代码,并定义如何运行我们的代码。我们可以构建我们的容器并将其发送到 Docker Hub。在我们运行事件源之前,我们需要一个发送事件的地方。

    3.7K30

    在 10 分钟内实现安全的 React + Docker

    你可以使用它打包你的应用程序,并包含多种开源 Web 服务器来为你的应用程序提供服务。另外,你还可以通过配置网络服务器来发送安全标头,这样使你的程序更安全。...将客户端 ID 复制并粘贴到应用程序的 src/App.js 中。 的值可以在 Okta 仪表板的 API > Authorization Servers 下找到。...把将你的 React App 部署到 Heroku 你的应用要直到正式投入生产时才会真正的存在,所以让我们把它部署到 Heroku。首先我将向你展示怎样不用 Docker 做到这一点。...static buildpack (https://github.com/heroku/heroku-buildpack-static)。...Heroku 静态构建包不是 “Cloud Native” 构建包。它使用旧的(原生云)API。这意味着它与开箱即用的 pack 不兼容。

    20.1K30

    微服务架构之Spring Boot(八十三)

    两个流行的云提供商Heroku和Cloud Foundry采用“buildpack”方法。buildpack将您部署的代码包装在启动应用程序所需的任何内容中。...它 可能是JDK和对 java 的调用,嵌入式Web服务器或完整的应用程序服务器。buildpack是可插拔的,但理想情况下,您应该能够尽可能少地进行 自定义。这减少了不受您控制的功能的占用空间。...63.1 Cloud Foundry 如果未指定其他buildpack,Cloud Foundry将提供默认的构建包。...如果 manifest.yml 同一目录中存在Cloud Foundry 文件,则会考虑该文件。...此体系结构决 策归功于Cloud Foundry的多语言(任何语言和平台都可以作为buildpack支持)。进程范围的环境变量与语言无关。

    1.1K10

    使用Argo和Buildpacks加速您的交付速度

    他们在研究结果中提到的一个例子是将代码推送到生产环境所需的时间。 CNCF 毕业项目 Argo 是 持续集成和交付 工具的首选之一,通常可以让开发人员的生活更轻松。...但在将代码推送到 Argo 之前,开发人员通常需要 编写 Dockerfile 来将其容器化。...开发人员可以从编写代码直接过渡到将其推送到公司 CI/CD 管道。 在 Argo 中集成 Buildpacks Buildpacks 是定义如何将源代码转换为容器化应用程序的规范。...我使用的是 Paketo Buildpacks 中的一个,但这里还有其他提供程序,例如 Google 和 Heroku。...开发人员无需编写 Dockerfile,这意味着一旦他们的应用程序编写完成,他们就可以将其推送到 Argo 并看到它被部署。

    10410

    如何基于Docker镜像逆向生成Dockerfile

    引言 你是否曾经遇到过一个想要使用的 Docker 镜像,但却无法修改以适应你的特定需求?或者你可能发现了一个喜欢的 Docker 镜像,但想要了解它是如何构建的?...它通过沿着层级树向后遍历,收集与每个层相关联的命令。 这个过程使它能够重建在镜像构建过程中执行的命令序列。...这是因为 Dedockify 无法访问在执行原始的 docker build 命令时存在的构建上下文。...-e Gemfile ] || bundle install --system" ], . . . }] Docker 示例: 以下是一个示例,展示了如何拉取官方的 Docker Ruby...请注意,该脚本仅适用于存在于您本地镜像仓库中的镜像(即您在键入 docker images 时看到的内容)。

    50410

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

    与Nginx一样,Puma是另一个极其快速且并发的Web服务器,内存占用非常小,但是为Ruby Web应用程序构建。 Capistrano是一个远程服务器自动化工具,主要关注Ruby Web应用程序。...我们首先安装Rails gem,它将允许你的Rails应用程序运行,然后我们将安装bundler,它可以读取你的应用程序的Gemfile并自动安装所有必需的gem。...clonegit存储库(通过SSH协议,而不是HTTP): deploy@droplet:~$ git clone git@example.com:username/appname.git clone命令将创建一个与您的应用程序同名的目录...首先将这些行添加到Gemfile Rails应用程序中: Gemfile group :development do gem 'capistrano', require: false...正常部署 每当您对应用程序进行更改并希望将新版本部署到服务器时,提交更改,像往常一样推送到git remote,然后运行deploy命令: $ git add -A $ git commit -m

    5K40

    「Spring」Boot Docker 认证指南(下)

    默认构建器针对 Spring Boot 应用程序进行了优化,并且图像像上面的示例一样有效地分层。以下示例在不更改pom.xml文件的情况下使用 Maven:....Jib 使用与您获得的相同标准输出来构建映像,docker build但除非您要求它,否则它不会使用docker,因此它可以在未安装 docker 的环境中工作(在构建服务器中很常见)。...与胖 JAR 中一样,Jib 将本地应用程序资源与依赖项分开,但它更进一步,还将快照依赖项放入单独的层,因为它们更有可能发生变化。有用于进一步自定义布局的配置选项。...自动化有多种选择,如今它们都带有一些与容器相关的功能。我们将看一对夫妇。大厅Concourse是一个基于管道的自动化平台,可用于 CI 和 CD。...buildpack 生命周期的输出是容器映像,但您不需要Dockerfile. 输出映像中的文件系统层由 buildpack 控制。通常,许多优化都是在开发人员不必知道或关心它们的情况下进行的。

    95220

    什么时候使用Dockerfiles(什么时候不使用……)

    让我们用 Buildpacks 构建包(buildpack)是将源代码转换为可运行的容器镜像的程序。通常,构建包封装了单一语言生态系统工具链。...有针对 Ruby、Go、Node.js、Java、Python 等的构建包。 用构建包构建我们的 Go 应用 要设置构建包,请遵循Pack CLI 安装说明[3]。...例如,如果你的源代码目录有一个 Gemfile,构建包就会把它识别为 Ruby 项目;pom.xml 文件将其标识为 Java 项目,等等。...从选择和维护基本镜像到为其余层提供内容,提供与镜像大小和分层、缓存和安全性相关的优化,以及特定于给定编程语言的标准和优化,Buildpacks 可以完成所有这些工作。...虽然 buildpack 为大多数用例提供了解决方案,但在某些情况下,你可能需要更大的灵活性,例如,如果你正在使用当前的 Buildpacks 生态系统不支持的语言构建应用程序,那么在这种情况下,你可能必须编写自定义的

    1.7K20

    提升您的交付速度:Argo与Buildpacks

    他们在研究结果中提到的一个例子是将代码推送到生产环境所需的时间。 CNCF 毕业项目 Argo 是持续集成和交付工具的首选之一,通常会让开发人员的工作更轻松。...但在将代码推送到 Argo 之前,开发人员通常需要编写 Dockerfile 来将其容器化。...开发人员可以从编写代码直接将其推送到公司 CI/CD 管道。 在 Argo 中集成 Buildpacks Buildpacks 是定义如何将源代码转换为容器化应用程序的规范。...我使用的是Paketo Buildpacks提供的构建器,但还有其他提供商,例如Google和Heroku。...开发人员无需编写 Dockerfile,这意味着一旦他们的应用程序编写完成,他们就可以将其推送到 Argo 并看到它被部署。

    8110

    主流 PaaS 平台架构:谷歌GAE、AEB、Cloud Foundry、Heroku

    谷歌、亚马逊与微软三大巨头在 PaaS 领域分庭对立,在强大的技术实力与基础资源的支撑下,构建了与自身文化相对应的公有云 PaaS 平台。...针对部署工作,它定义了一套 REST API,底层基于 Ruby 命令行工具来与版本控制器交互,在这个平台上你可以使用 CVS、Subversion、Git 等各种版本的控制器,而不是仅限其一。...Heroku 作为最初的云平台之一,支持 Ruby、Java、Node.js、Scala、Clojure、Python 等多种编程语言。...而 Heroku 将日志看作一条一条的流式信息,它将这些输出发送到远端,集中管理、预警。 一个 PaaS 平台会提供大量的后端服务组件,包括持久化数据库、邮件 SMTP 服务、消息队列、缓存等。...Heroku 就为这些后端服务的访问定义了一套 add-ons API,从而实现了代码与某个固定服务的解耦。在 Heroku 上最流行的后端服务是 PostgreSQL 数据库。

    6.5K20

    DevSecOps 管道: 使用Jenkins自动化CICD管道以实现安全的多语言应用程序

    我们的pipeline脚本会自动识别dockerfile是否存在,如果不存在则生成dockerfile,否则会显示dockerfile not find。...注意:您可以使用 kube 配置文件将 Jenkins 与 Kubernetes 集群集成。...如果您使用负载均衡器,您将收到外部 IP 并能够通过它访问您的应用程序。...第 10 阶段(Zaproxy 测试) 我们已经进行了 SAST 扫描和应用测试;展望未来,我们将执行 DAST,其目的是在整个软件开发和测试阶段协助检测 Web 应用程序中的安全漏洞。...基本上,ZAP 测试将涉及使用该 URL 来测试 PROD 或 DEV 中托管的应用程序。我们将使用各种扫描方法,包括蜘蛛、主动、被动、模糊器、代理拦截和脚本攻击。

    76120

    Google 是如何设计 Ruby Serverless Runtime 的?

    因为这是一个关于如何将 Ruby 约定与公共云约定融合的有趣练习。我认为,我们做出的一些权衡,代表着整个 Ruby 社区随着行业的发展而面临的挑战。...这似乎是一个简单的、几乎显而易见的术语变化,但实际上具有深远的意义。 对 Ruby 而言,面临的第一个挑战是,与许多其他编程语言不同,在 Ruby 中函数并不是一等公民。...因此,它们的存在会使 Serverless 的应用程序复杂化,甚至在我们编写应用程序时误导我们。...这就是为什么这种“顶级”方法在简单的单文件 Ruby 脚本和 Rakefiles 中很常见,但在大型 Ruby 应用程序中不推荐使用。...方法隐含对象,对象以实例变量的形式携带状态,这些状态在无状态 FaaS 环境中可能无法正常工作。回避方法是一种微妙但有效的语法方法,可以阻止我们知道的存在问题的实践。

    2.2K60
    领券