本节将为您提供有关升级过程以及识别和解决冲突的步骤的深入演练。
建设升级必须谨慎进行,其影响必须事先充分考虑,程序必须严守纪律。 要确保成功升级,请确保只有专家用户才能执行下面列出的步骤。 此外,我们强烈建议您联系 Adobe客户关怀 开始任何升级之前。
需要满足以下先决条件:
您可以在以下部分中找到更多信息: 更新Adobe Campaign, 迁移到新版本.
对于托管实例和混合实例,您必须向Adobe技术运营团队请求内部版本升级。 有关更多信息,请参阅本页底部的常见问题解答部分。 另请查阅 内部版本升级常见问题解答.
在开始内部版本升级之前,必须执行如下所述的完整准备。
系统准备好升级后,将需要升级内部版本 至少 2小时。
内部版本升级过程需要以下资源:
以下是有关如何规划内部版本升级的要点:
内部版本升级过程需要以下人员参与:
Adobe架构师:对于托管或混合架构,架构师必须与Adobe Campaign客户关怀团队进行协调。
项目经理:
对于On Premise安装:客户的内部项目领导者负责领导升级并管理生命周期测试。
对于托管安装:托管团队将与Adobe Campaign客户关怀团队和客户合作,协调所有实例的升级时间轴。
Adobe Campaign管理员:
对于On Premise安装:管理员将执行升级。
对于托管安装:托管团队会执行升级。
Adobe Campaign操作员\营销用户:操作员对开发、测试和生产实例运行测试。
在开始内部版本升级之前,内部部署客户需要执行以下准备:
你还需要知道 有用命令行 开始内部版本升级之前:
以下程序仅由 内部部署 客户。 对于托管客户,托管团队会负责处理。 要将Adobe Campaign更新为新内部版本,请参阅下面的详细过程。
以下是复制Adobe Campaign环境的方式,以便将源环境恢复到目标环境,从而生成两个相同的工作环境。
为此请执行以下操作步骤:
在源环境中的所有实例上创建数据库的副本。
在目标环境的所有实例上恢复这些副本。
运行 nms:freezeInstance.js 目标环境中的烧灼脚本。 这将阻止所有进程与外部交互:日志、跟踪、投放、活动工作流等。
nlserverjavacsriptnms:freezeInstance.js–instance:<dev> -arg:run
检查烧灼,如下所示:
检查唯一的投放部分是ID设置为 0:
SELECT * FROM neolane.nmsdeliverypart;
检查投放状态更新是否正确:
SELECT iSate, count(*) FROM neolane.nmsdeliveryGroup By iProd;
检查工作流状态更新是否正确:
SELECT iState, count (*) FROM neolane.xtkworkflowGROUP BY iState;
SELECT iStatus, count (*) FROM neolane.xtkworkflowGROUP BY iStatus;
要使用新版本替换所有文件,需要关闭nlserverservice的所有实例。
关闭以下服务:
确保已停止重定向服务器(webmdl),以便IIS使用的nlsrvmod.dll文件可以替换为新版本。
通过运行 nlserver pdump 命令。 如果没有任务,则输出应类似于以下内容:
C:\<installation path>\bin>nlserverpdump HH:MM:SS > Application Server for Adobe Campaign version x.x (build xxx) dated xx/xx/xxxx No tasks
检查Windows任务管理器,确认所有进程都已停止。
运行 Setup.exe 文件。 如果需要下载此文件,请访问 下载中心.
选择安装模式: 更新 或 修复.
单击 下一个.
单击 完成:安装程序会复制新文件。
操作完成后,单击 完成.
打开命令行。
运行 nlserver config -postupgrade -allinstances 要执行以下操作:
此操作只应在nlserverweb应用程序服务器上执行一次且只能执行一次。
要仅同步一个数据库,请运行以下命令:
nlserver config -postupgrade -instance: <instance_name>
检查同步是否生成了任何错误或警告。
需要重新启动以下服务:
客户端控制台必须与服务器实例位于同一内部版本。
在安装Adobe Campaign应用程序服务器的计算机上(nlserverweb),下载并复制文件:
Setup-client-7.xxxx.exe in [path of the application]\datakit\nl\en\jsp
下次连接客户端控制台时,窗口会告知用户新更新的可用性,并为用户提供下载和安装该更新的可能性。
某些配置需要特定的其他任务才能更新到新内部版本。
在Campaign实例上启用事务性消息传递(消息中心)后,您需要执行以下其他步骤才能升级:
将消息中心生产服务器更新为所选版本。
运行升级后的脚本。
运行测试并确保通过消息中心生产实例成功接收电子邮件。
升级客户端并清除缓存。
导出包:
发布消息中心模板,以确保服务器和消息中心实例之间的接口正常工作。
运行测试以确保通过消息中心生产实例成功接收电子邮件。
在生产中运行工作流测试,以确保收到投放。
在中间源环境的上下文中,您需要执行以下其他步骤才能升级:
联系人 Adobe客户关怀 协调中间源服务器的升级。
通过运行测试链接验证版本是否已更新。 例如:
http://[InsertServerURL]/r/test
中间源服务器必须始终运行与营销服务器相同(或更新)的版本。
您需要检查同步结果。 此过程仅由内部部署客户执行。 对于托管客户,托管团队会负责处理。 有两种方法可查看同步结果:
在命令行界面中,错误由三个V形标记“>>”实现,并自动停止同步。 警告由双V形标记“>>”实现,并且必须在同步完成后进行解析。 在升级后,命令提示符中会显示一个摘要。 它可以如下所示:
YYYY-MM-DD HH:MM:SS.749Z 00002E7A 1 info log =========Summary of the update==========
YYYY-MM-DD HH:MM:SS.749Z 00002E7A 1 info log <instance name> instance, 6 warning(s) and 0 error(s) during the update.
YYYY-MM-DD HH:MM:SS.749Z 00002E7A 1 warning log The document with identifier 'mobileAppDeliveryFeedback' and type 'xtk:report' is in conflict with the new version.
YYYY-MM-DD HH:MM:SS.749Z 00002E7A 1 warning log The document with identifier 'opensByUserAgent' and type 'xtk:report' is in conflict with the new version.
YYYY-MM-DD HH:MM:SS.750Z 00002E7A 1 warning log The document with identifier 'deliveryValidation' and type 'nms:webApp' is in conflict with the new version.
YYYY-MM-DD HH:MM:SS.750Z 00002E7A 1 warning log Document of identifier 'nms:includeView‘ and type 'xtk:srcSchema' updated in the database and found in the file system. You will have to merge the two versions manually.
如果警告涉及资源冲突,则需要用户注意才能解决该问题。
的 postupgrade_ServerVersionNumber_TimeOfPostupgrade.log 文件包含同步结果。 默认情况下,该插件可在以下目录中使用: installationDirectory/var/instanceName/postupgrade. 错误和警告属性会指示错误和警告。
如何发现冲突?
冲突可在相关服务器的postupgrade.log中或Campaign客户端界面(管理>配置>包管理>编辑冲突)中找到。
标识符为“stockOverview”且类型为“nms:webApp”的文档与新版本冲突。
如果发现冲突,请检查以下条件是否匹配:
如果这两种条件都不适用,则为误报。 如果这两种条件都适用,则发现了真正的冲突。
客户是否修改了对象?
对象是否已在新内部版本中更改?
要解决冲突,请应用以下流程:
在Adobe Campaign资源管理器中,转到 管理>配置>包管理>编辑冲突.
在列表中选择要解决的冲突。
有三种解决冲突的选项: 接受新版本, 保留当前版本, 合并代码(并声明为已解析), 忽略冲突(不建议).
我何时可以接受新版本?
我何时可以保留当前版本?
何时执行合并?
如果我忽视冲突呢?
强烈建议解决冲突。
合并的类型不同:
如果选择手动解决冲突,请按如下方式继续:
以下是执行复杂合并的步骤:
执行复杂合并需要具备开发技能。
相关主题