Devops

Sitecore Headless DevOps最佳实践-第1部分

今晚我们将破解这个密码

欢迎来到我的系列节目与Sitecore Headless相关的DevOps最佳实践实现。在第1部分中,我们将回顾Git DMZ Flow,并了解如何在Azure DevOps中实现这些主体。

什么是Sitecore Headless?

在深入研究技术细节之前,让我们先了解Sitecore Headless是什么。Sitecore Headless架构将后端内容功能与前端功能分离。从DevOps的角度来看,这意味着我们需要管理两个应用程序。后端和前端都有多个选项可供选择。在本系列中,我们将使用传统的Sitecore XM Azure PaaS作为后端,使用Vercel上托管的React和Next.js应用程序作为前端。

什么是Git DMZ流?

如果你还没看过丹尼尔·斯皮沃克的Git DMZ流的详细概述我建议这样做,但以下几点将是我们的关键。

Git DMZ流:

  • 有一个主回购与两个关键分支:而且非军事区
  • 分支始终是可部署和可分支的
  • CI服务器是唯一允许向其推送代码的服务器
  • 功能而且错误分支是从和pull-requested into非军事区
  • 成功构建非军事区将快进非军事区
  • 释放树枝从
  • 热修复补丁树枝可以剪下来释放解决关键问题

在Azure DevOps中实现Git DMZ流

1)一般存储库设置

正如我前面提到的,我们有两个独立的后端和前端应用程序。我们将两个应用程序托管在同一个存储库中:

下一次无头回购

而且非军事区分支是在with的repo上定义的非军事区设置为默认值。

主Dmz分支

2)限制对主分支的访问

为了保持分支完全锁定除了CI服务器之外的所有人,我们将使用分支安全设置。设置分支安全选举回购>分支然后选择分支旁边的更多选项图标。从上下文菜单中选择Branch策略。您还可以通过转到获得分支安全性项目设置>存储库>[存储库名称]>安全>[分支名称]。

主分支策略

一次你已经打开了分支策略分支,将“贡献”权限设置为允许只对项目集合生成服务帐户组,并确保权限设置为否认对于所有其他组。

Ci允许贡献

3)配置dmz分支策略

上启用分支策略非军事区分支将满足所有变更的要求非军事区是通过拉请求来实现的。设置分支策略,选中回购>分支然后选择分支旁边的更多选项图标。从上下文菜单中选择Branch策略。一旦定义了分支策略,策略图标将显示在分支名称旁边。您可以选择图标直接转到分支的策略设置。您还可以通过转到获取分支策略项目设置>存储库>[存储库名称]>策略>分支策略> <分支名称>.使用实例

Dmz分支策略

定义的具体策略如下:

  • 检查链接的工作项:必需的
  • 检查注释解析:必需
  • 限制合并类型:压缩

Dmz分支策略设置

4)快进对非军事区

在pull请求成功合并成非军事区,一个完整的分支机构将会发生。如果成功了,那么分支应自动快进到非军事区.这个快进是由下面的脚本完成的。

-脚本:| ECHO clean git add。&& git reset——hard ECHO git checkout master——quiet git checkout master——quiet ECHO git merge origin/dmz——ff-only——quiet git merge origin/dmz——ff-only——quiet ECHO git push origin master——quiet git push origin master——quiet displayName:快进master to dmz failOnStderr: true condition: and(eq(variables['Build.]SourceBranch'], 'refs/heads/dmz'), ne(变量['构建。Reason'], 'PullRequest'),而不是(cancelled ()))

第2部分我们将仔细研究这种快进发生的构建管道,并了解如何验证我们之前的前端应用发送它转到Vercel。

留下回复

你的电邮地址将不会公布。必填字段已标记

这个网站使用Akismet来减少垃圾邮件。了解如何处理您的评论数据

路加福音步伐

Luke是一名高级技术顾问,他在Sitecore开始他的职业生涯时是一名经过认证的后端开发人员,但在过去的5年里已经过渡到DevOps。

更多来自作者

关注我们
推特 Linkedin 脸谱网 Youtube Instagram