使用 AzureDevOps 更新托管在 Azure 上的 Sitecore 应用程序

Update Sitecore application hosted on Azure using AzureDevOps

我正在尝试将 Sitecore 部署到 Azure,但对实际的应用程序部署有点困惑。

我正在使用 Sitecore 9.1。

到目前为止,我已经提供了所有基础设施(数据库、webapps、缓存、app insights)并将基本的 Sitecore 包安装到 webapp 并将 dacpacs 应用到数据库。现在我可以访问 Sitecore 并愉快地享受默认站点了。

现在我想使用 Azure DevOps 管道将一些 TDS 包应用于此设置,但不确定从哪里开始。

我检查了可用选项,市场上似乎有 2 个任务:

但如果我没理解错的话,它们都需要在实例上安装 Sitecore Package Deployer,并且需要先将包上传到实例。我认为我的设置会失败,因为我 运行 它是一个 zip 包 (WEBSITE_RUN_FROM_PACKAGE = 1)。

无需重新部署整个 Sitecore 实例即可部署 Sitecore 应用程序的最佳做法是什么?最好选择应用来自 devops 代理的更新。

如果您使用 Sitecore Package Deployer:

澄清: 如果您 运行 您的网站来自 zip 包但尚未经过测试,下面的答案可能会起作用。如果有人对此进行测试,请在评论中告诉我

在以下文件夹中构建应用程序时,您可以在工件中添加 TDS 包(.update 文件): /App_Data/SitecorePackageDeployer.

这是 Sitecore Package Deployer 查找 TDS 文件的默认文件夹。 Sitecore 将 Deployer 运行s 打包为服务器中的一项服务,并将每隔 x 分钟查看一次定义的文件夹中的 .update 文件(x 也可以配置。) 然后,Sitecore 包部署程序将为您挑选并安装它们。

为了让你的解决方案更清晰:

  • 您可以有两个单独的工件:一个用于 CM 服务器,一个用于 CD 服务器。
  • 仅将 TDS 包放在将部署到您的 CM 服务器的工件中。

澄清: 如果您 运行 来自 zip 包的网站,则以下答案将无效。 zip 是只读的,您不能上传 zip 包中的 .update 文件(感谢 JleruOHeP)。

如果您仍想将 TDS 包安装为部署管道中的额外步骤,而不将它们包含在工件中:

您可以使用 KUDU api 将 .update 文件上传到 /App_Data/SitecorePackageDeployer 下的 webApp。 然后,Sitecore Package Deployer 会挑选它们并为您部署这些包。

希望对您有所帮助。