问题标签 [heroku-pipelines]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
heroku - Heroku 管道 - 将环境变量暂存到生产环境中
我最近向 Heroku 部署了一个 React/Express 应用程序,但是我遇到了作为构建应用程序和 Heroku 部署管道一部分的环境变量的问题 - 简而言之,应用程序staging
发布的环境变量的值是在升级到时被结转production
-我可以正确设置环境变量的唯一方法是将应用程序直接推送到production
,这实际上首先违背了部署管道的目的。以下是该场景的摘要:
有问题的环境变量是API_URL
,它的引用webpack.config.js
如下:
API 本身就是另一个 Heroku 应用程序,staging
并且production
发布了,因此API_URL
环境变量的值在我的 React 应用程序 Heroku 配置中分别设置为https://staging-api-12345.herokuapp.com/api/v1
和https://production-api-12345.herokuapp.com/api/v1
。
staging
当我将我的React应用程序推production
到https://staging-api-12345.herokuapp.com/api/v1
. 好吧,我明白为什么会这样 - 应用程序是在被推送到时构建的staging
......所以我尝试在提升到之后重建应用程序production
,但这没有用,它仍然使用staging
环境变量。
使用 Heroku 部署管道时,有没有办法强制应用程序 slug 重新构建,以便捕获不同的环境变量?
git - 如何在没有 GitHub 集成的情况下管理 Heroku 管道中的两个阶段
我有一个名为my-app
heroku 的应用程序。
我将其转换为具有两个阶段(staging 和 prod)的管道。我不想使用 GitHub 集成。
my-app
现在正在生产中。
我正在使用 GitLab(它是免费的)并将my-app
repo 分叉到一个名为feature-a
.
我想将此分叉添加到管道的暂存阶段。我希望能够在推广到生产之前在这个阶段测试代码。
当我将来自 fork(或合并)的应用程序添加到管道时,Heroku CLI 告诉我该应用程序已经在管道中,这是真的,因为一个版本已经在生产中。
我的问题:
- 如何
my-app
将同一应用程序的不同版本添加到管道的暂存阶段? - 阶段是否可以有不同的环境变量(例如,staging 将具有 dev 键和 id,而生产将具有 prod 键和 id)?
git - Heroku 管道 - 代码链接到哪个应用程序
我一直在部署到 heroku 上的单个应用程序。我决定创建一个管道并将这个应用程序设置为生产应用程序。我为登台创建了一个新应用程序。
本地代码应该与 git push heroku master 链接并推送到哪个应用程序?它是暂存应用程序还是生产应用程序?
我是否需要运行命令让我的本地仓库知道我希望将其发送到登台应用程序?
laravel - Laravel Spark 许可证和 Heroku Pipeline
所以,我有一个 Laravel Spark 许可证,并且我最近将我的代码从 Spark 版本 3 升级到了 6。我决定在我推动这么大的变化之前,我应该继续设置一个带有暂存应用程序的管道(就像我应该几个月前做过)。
我正在尝试将我的代码的当前工作版本推送到登台应用程序,以确保登台应用程序在我将分支与对 V6 的更改合并并推送之前工作。暂存应用程序的 heroku 构建失败,出现我无法获取 spark repo 的标准错误。
这是因为我升级到 V6 并且代码正在尝试获取 v3(值得怀疑)还是我的 Laravel Spark 许可证无法被暂存应用程序识别(更有可能)?关于如何解决这个问题的任何想法?
下面的错误信息...
heroku - Heroku 在具有受限权限的管道中共享数据库?
我的管道中有一个生产和登台应用程序。我想做两件事之一。
复制 postgres 生产数据库,但数据有限(因为当前金额需要我支付)。真的,我想复制除一张表之外的所有数据。是否可以复制它然后删除一个表?
如果这不可能,我是否可以与暂存应用程序共享生产数据库,但不允许它添加或删除数据,除非我知道它已准备好。
heroku - Heroku Pipeline 在 app.json 中部署 Hook HTTP
我正在设置 Heroku 管道,我想添加“附加”属性,但是我没有看到它们应用于我的环境。
插件块的格式是:
"addons": [
"sendgrid",
{
"plan": "deployhooks:http",
"as": "SLACK-ENG-STATUS",
"options": {
"url": "THIS IS A RANDOM URL"
}
}
],
这是创建附加组件的正确语法吗?当我直接部署到临时应用程序时,我看不到它的配置。
ruby-on-rails - 迁移 Heroku Pipeline Promotion 上的数据
我在 Heroku 上为我的 rails 应用程序使用管道。我有一个登台应用程序,然后将其提升为生产应用程序。我在部署到登台之前运行任何模式迁移,然后在我提升它时将 slug 移动到生产中。
但是现在我需要在下一次部署时迁移一些用户数据,我正在寻找一种方法来作为促销的一部分。升级完成后,我总是可以运行 rake 任务,但这似乎非常冒险。理想情况下,代码应该在应用程序发布之前运行,并在出现任何问题时回滚。
我认为发布阶段是答案,但考虑到这些考虑,我认为我不能在那里访问用户数据。
heroku - Heroku CI 状态徽章
我使用 Heroku CI 在 Heroku Pipeline 中运行测试。我想在 Github 的 README.md 文件中添加 CI 状态作为徽章,用于master
分支。
但到目前为止,我还没有找到关于这个请求的开箱即用的解决方案。关于解决方法的任何提示,无需自己构建 ci-badge 解决方案即可完成这项工作?
我发现的一些灵感:
- https://github.com/heroku/heroku-ci :(请参阅 README.md 顶部的状态标志。但是,图像 URL 专门搜索 Heroku CI 应用程序的管道,并且不适用于其他应用程序)
- https://github.com/pussinboots/heroku-badge:显示
deploy
徽章,这对我来说并不重要。此外,这个 repo/app 似乎不再维护了(最后一次提交是 2 年前)
angularjs - Heroku Pipeline 中的 AngularJs 环境变量
我正在准备在 Heroku 管道中配置 AngularJs/NodeJs 应用程序。我对每个 DevOps 管道的理解是,目标是避免在每个阶段重新编译应用程序。对于 Node API,Heroku 的建议非常明确:config vars。但是对于 AngularJs 客户端——显然,配置变量是用于服务器端脚本的——我还没有找到任何建议或好的做法。另外,我搜索了深层互联网,发现没有一个常见问题。我找到了这篇解释清楚的文章,现在我正在研究它,但对我来说很难理解的是:避免在阶段到生产管道中重新编译 Angular 客户端不是一个常见问题吗?AngularJs 开发团队对这种情况没有官方建议吗?
我的想法是:
1-我误解了一些东西....或..
2-在不重新编译的情况下推广到生产 Angular 应用程序不是一个常见问题。
拜托,我是 Angular 的新手,我需要一些建议。
谢谢!
heroku - 将 Heroku 应用程序从暂存阶段提升到生产环境可以保持环境
假设我有一个名为 API_URL 的环境变量,我为暂存和生产设置了 2 个不同的值。
事情是:当我将应用程序从暂存升级到生产时,它会在生产环境中保持暂存 API_URL 值,尽管在设置中它被设置为正确的值。
有谁知道如何禁用此“功能”?