使用 Octopus Deploy 和 EPiServer 来处理数据库升级
Using Octopus Deploy with EPiServer to handle database upgrades
自从EPiServer 7 升级到新版本涉及:
- 正在更新所有
EPiServer.*
个 NuGet 包
- 运行
PM > Update-EPiServer
- 升级本地数据库
- 运行
PM > Export-EPiServer
- 生成一组数据库升级脚本文件,可以运行在其他服务器上。
但是,如果仅通过 Octopus Deploy 构建和部署升级的 EPiServer 解决方案,则数据库不会升级,这意味着该站点将不会 运行。
目前,我 运行 EPiServerPackage
手动 在部署后的每个环境中的服务器上。
我正在尝试以最简洁的方式包含 /EPiUpdatePackage
文件夹和 运行 宁 Export-EPiServer
命令生成的内容,以便它将:
- 已签入源代码管理
- 在构建服务器上变成了 NuGet 包
- 由Octopus Deploy部署,以便可以在脚本部署到的服务器上远程执行
根据 Eric Herlitz 的建议,我只是在 web.config
转换中使用了 <episerver.framework updateDatabaseSchema="true">
来实现我希望数据库自动升级的环境。
我不确定如果 SQL 连接字符串用户没有所需的权限级别,这是否会出现问题。但是就我而言,这是正常工作的。
自从EPiServer 7 升级到新版本涉及:
- 正在更新所有
EPiServer.*
个 NuGet 包 - 运行
PM > Update-EPiServer
- 升级本地数据库 - 运行
PM > Export-EPiServer
- 生成一组数据库升级脚本文件,可以运行在其他服务器上。
但是,如果仅通过 Octopus Deploy 构建和部署升级的 EPiServer 解决方案,则数据库不会升级,这意味着该站点将不会 运行。
目前,我 运行 EPiServerPackage
手动 在部署后的每个环境中的服务器上。
我正在尝试以最简洁的方式包含 /EPiUpdatePackage
文件夹和 运行 宁 Export-EPiServer
命令生成的内容,以便它将:
- 已签入源代码管理
- 在构建服务器上变成了 NuGet 包
- 由Octopus Deploy部署,以便可以在脚本部署到的服务器上远程执行
根据 Eric Herlitz 的建议,我只是在 web.config
转换中使用了 <episerver.framework updateDatabaseSchema="true">
来实现我希望数据库自动升级的环境。
我不确定如果 SQL 连接字符串用户没有所需的权限级别,这是否会出现问题。但是就我而言,这是正常工作的。