gpt4 book ai didi

javascript - 使用 Netlify CMS 设置暂存工作流

转载 作者:行者123 更新时间:2023-11-29 10:28:35 24 4
gpt4 key购买 nike

我在 Gitlab 上有一个 Gatsby 站点部署到 Netlify 并使用 Netlify-CMS。 Netlify 可以将站点推送到不同的分支并将每个分支部署到一个单独的 url。例如,我当前的站点有一个 production 分支部署到 example.netlify.com 和一个 staging 分支部署到 staging--example.netlify.com.

但是,使用 Netlify CMS 更新内容时创建的提交是另一回事。看起来(至少开箱即用),Netlify CMS 将始终将更改推送到其配置中定义的生产分支,无论 checkout 哪个分支或站点位于何处:

来自 docs .

Note: no matter where you access Netlify CMS — whether running locally, in a staging environment, or in your published site — it will always fetch and commit files in your hosted repository (for example, on GitHub), on the branch you configured in your Netlify CMS config.yml file. This means that content fetched in the admin UI will match the content in the repository, which may be different from your locally running site. It also means that content saved using the admin UI will save directly to the hosted repository, even if you're running the UI locally or in staging.

来自 Netlify CMS 使用的项目配置(config.yml):

backend:
name: git-gateway
branch: production

所以目前我可以更改网站的结构并使其仅在登台时可用,但是没有机制可以进行内容更改并使其仅在本地或仅在分期。

我可以看到的一个选项是为每个部署部署一个不同的 config.yml 文件(并在本地使用一个单独的文件),因此当在本地使用 CMS 时,我将分支设置为 dev,在暂存和生产中,我将分支分别设置为 stagingproduction。假设 Netlify-CMS 编辑的内容的位置是隔离的,这应该可以很容易地将内容更改从 staging 推广到 production

这是最好的方法吗?

最佳答案

目前看来,如果您不使用 Github,它支持 Editorial Workflow , 你只能靠自己。

设置 Netlify 以部署同一项目的多个分支非常容易,因此您可以轻松地拥有三个独立的环境。在下面的讨论中,我将使用 Gatsby,但我认为这个问题适用于您使用的任何静态站点构建器。

  • dev 在本地主机上本地运行时
  • staging 作为附加分支部署添加到 Netlify 的暂存分支。
  • production 作为生产分支添加到 Netlify 的生产分支。

如果我们不使用 Netlify CMS,这就是我们所需要的。我们可以在本地开发并在我们想要进行更改时推送到暂存,然后通过将暂存合并到生产中并在这些更改准备就绪时推送到生产分支来进行推广。

但是,开箱即用的所有这些环境都将使用相同的 config.yml,这意味着所有这三个环境将从同一分支加载并对其进行更改 - 无论您将哪个分支定义为值对于分支

需要一种方法来隔离每个环境的内容更改,以便在开发中对 dev 分支进行更改,在暂存中进行更改对 staging 分支和对生产所做的更改是对 production 分支进行的。

这可以通过将环境特定的 config.yml 部署到每个远程环境,并在开发中默认为 dev 分支来实现。执行此操作的最简单方法可能是使用预构建步骤在 config.ymlbranch 字段中填充当前分支的名称。

在我看来,这是一个非常不令人满意的解决方案,并且是一个非常常见的用例,Netlify CMS 应该开箱即用。我已经打开了一个问题 here .

关于javascript - 使用 Netlify CMS 设置暂存工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52224491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com