- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 nextJS 和expressJS 应用程序开发一个nodeJS 应用程序。我使用自己的 gitlab 实例来管理 git 存储库。
但是当前的应用程序最终不应该部署到网络服务器,但我需要创建去中心化的生产应用程序。为了更清楚一点:
因此应用程序本身不会在我的远程服务器上运行,而是在客户的本地服务器上运行。
通常,我会使用 CI 来测试和构建应用程序(由 npm run build
完成)。然后我构建一个 docker 镜像,用于在我的服务器上运行应用程序。但所有这些通常都在同一服务器上运行。
在这种情况下,我需要构建应用程序并将其提供给客户/客户应该能够提取有效的代码。这怎么办。
也许我只见树木不见森林......这就是为什么我寻求帮助/提示。
最佳答案
您可以通过多种方法来实现此目的,也可以使用多种工具。您可能需要类似于以下的管道。
您可以使用许多东西作为远程存储位置,例如某种 AWS S3 存储桶,或更复杂的东西,例如 Nexus (有很多免费的替代品)。
然后,您可能希望让您的客户访问此存储位置(如果您使用的是 S3 或 digital ocean block 存储等),或访问您的分发存储库(例如 Nexus)。
您应该能够生成某种 SSH key ,您可以将其放在 GitLabCI 服务器上并用于发布到这些位置。然后,它应该是一个简单的情况,即进行 HTTP 调用以将文件上传到相关源。当一切都成功时,通常会调用此函数,并且仅针对特定分支。例如,如果您的所有测试都通过并且您位于主分支上,请压缩所有代码并进行 HTTP 调用以将新的 zip 文件推送到您的客户可以访问的 AWS S3。
对于进一步的想法,如果您愿意,您可以将存储/分发位置设置为 FTP 服务器,或者根据您的分发需求将其设置为本地网络驱动器。如果您只是为客户处理 Docker,那么我建议您构建一个 Docker 镜像并自托管一个 Docker 注册表。构建镜像后推送到该注册表,CI 运行就结束了。
顺便说一句,如果您的客户正在使用 docker,您可以创建一个 docker 镜像,将其推送到注册表或将其导出为 .tar 并将其上传到文件存储位置(例如 S3)。这将使您的客户的事情变得简单,并确保您控制镜像创建步骤(如果这是您想要管理的内容)。
The gitlab ci docs might help you with the specifics of uploading artifacts to various locations.
关于node.js - nodeJS/GitlabCI : How to serve decentralized productive application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51709528/
这个问题我已经问了自己很长一段时间了,所以我决定在这里问你们。 假设我有一个 Shop 对象,其中包含一个 ProductList 对象作为实例变量。我的 Shop 对象的核心功能当然是能够添加 Pr
我正在做应用内购买功能。今天我遇到了一个奇怪的问题。 我尝试通过 SKProductsRequest 获取列表产品。问题是:有时我收到 invalidProductIdentifiers,但有时我收到
假设您有一个名为 Product 的表,它有一个自动编号/标识列。您将其简单命名为 Id 还是将其命名为 ProductId 或 Product_Id?请解释原因。 最佳答案 没有明确的答案,因为这取
假设我销售多个产品。有时,product 实际上是其他product 的组合。例如,假设我正在销售: 热狗 苏打水 热狗+汽水组合 我应该如何建模这样的东西?我是否应该有一个 product 表来列出
有人可以建议为用户可以购买某些产品的页面添加正确的 Schema.org 标记的最佳方法吗?我正在那里添加 Product 标签(用于 Rich Snippets)。 我想增加询问有关该产品的问题的可
我正在尝试在 xml 表中查找一些数据。 如果像这样删除命名空间,我可以从 xml 中获取数据: $nodes = $data->xpath('//Products/Product/produ
我很喜欢这个程序。有人可以告诉我我做错了什么吗?该程序提示用户输入产品目录中的产品数量。然后程序应提示用户输入产品目录中每个产品的名称和价格。输入所有产品后,程序应输出目录中最昂贵产品的产品信息(名称
我有一个表 product(id, name),其中包含几组产品,型号不同。即 {motor10、motor20、motor30、pipe10、pipe20、pipe30、wrench12、wrenc
这里我声明了产品类变量并分配了它。 产品.java public class Product { String[] name= new String[100]; int price;
我在构建服务器之一上遇到此错误。所有其他服务器都可以正常构建。有什么想法可能是错误的吗? 最佳答案 我也有此错误,它似乎是在创建新设置时从Wix自动生成的新事物。当我从3.5升级到3.6时,Wix不喜
我想在同一个模型中制作字段product.product 假设 A 取决于 lst_price of product.product . 如果用户未设置 A 的值,则取 lst_price 但如果用户
我有一个以类别和产品作为属性的列表,我希望将属于不同列表中的类别的所有产品分开。 目前我有这个 Products products = new Products(); products
我们正在构建一个网络数据库系统,我们需要允许某些产品由其他产品制成。例如,将 2 个或多个产品组合为新产品。我们正在使用 CakePhp 和 MySQL。 这是我们数据库的数据结构图: https:/
我想给这段代码添加样式: 我试着这样说: 'font-weight:bold;')); ?> 但它给我这个错误信息: 警告 (2):htmlspecialchars() 期望参数 4 为 bool
我正在使用 Ruby on Rails 构建一个主要用于存储产品的数据库。我主要关心的问题之一是,在未来,我希望能够知道这两种产品的兼容性。 我不知道如何以“Rails 方式”构建它。首先,我正在考虑
如果我错了,请纠正我,但据我从文档中理解, --env option ONLY 用于能够在 webpack.config.js 内访问它如果它导出一个函数,例如 module.exports = fu
我正在尝试将 Commerce 产品类型绑定(bind)到我自己的自定义类型节点(用作显示节点)。目标是在尽可能少的地方输入新数据。因此,我正在探索在创建另一种类型时基于规则创建一种类型。似乎两个方向
我想弄清楚如何重命名或翻译 /product/和 /product-category/ WooCommerce 中的蛞蝓。 我不想完全删除它们,我只想将它们重命名为 /lesson/和 /lesson
我在 Google Search Console 中收到一条警告,指出“未提供全局标识符(例如 gtin、mpn、isbn)”。问题是,我的产品没有这样的东西。关于如何向 Google 表明不存在此类
我正在寻找 Julia 中元素矩阵乘法的就地实现,又名 Schur 乘积,又名 Hadamard 乘积。 它可以通过 A .* B 分配来执行,但我不能在每次执行此操作时分配额外的内存。 当然我可以自
我是一名优秀的程序员,十分优秀!