[英]Package Deployer to sequence Solutions and Data File
Working on Package Deployer Project to deploy Managed Solutions and Data Files in Sequence.致力于 Package 部署项目,以按顺序部署托管解决方案和数据文件。
I have added 3 solutions and 1 Data file(Data file created using the Configuration Migration tool which comes with CRM SDK) in PkgFolder.我在PkgFolder中添加了3个解决方案和1个数据文件(使用CRM SDK附带的配置迁移工具创建的数据文件)。 I have added 3 solutions and a Data file in ImportConfig.xml我在 ImportConfig.xml 中添加了 3 个解决方案和一个数据文件
My Challenge is I want to import the solutions and Data files in sequence like:我的挑战是我想按顺序导入解决方案和数据文件,例如:
How to configure such a sequence?如何配置这样的序列?
Due to a lack of Documentation and resources could not proceed with achieving this challenge.由于缺乏文档和资源,无法继续应对这一挑战。
Please help!请帮忙!
Below is my ImportConfig.xml下面是我的 ImportConfig.xml
<?xml version="1.0" encoding="utf-16"?>
<!--
More information about ImportConfig.xml file
https://docs.microsoft.com/en-us/power-platform/alm/package-deployer-tool
-->
<configdatastorage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
installsampledata="false"
waitforsampledatatoinstall="true"
agentdesktopzipfile=""
agentdesktopexename=""
crmmigdataimportfile="BookingStatusData.zip">
<!-- solutions to import -->
<solutions>
<configsolutionfile solutionpackagefilename="Solution1.zip" />
<configsolutionfile solutionpackagefilename="Solution2.zip" />
<configsolutionfile solutionpackagefilename="Solution3.zip" />
</solutions>
<filesmapstoimport>
<configimportmapfile filename="BookingStatusSchema.xml" />
</filesmapstoimport>
<filestoimport>
<configimportfile filename="BookingStatusData.zip"
filetype="ZIP"
associatedmap="BookingStatusSchema"
importtoentity="bookingstatus"
datadelimiter=""
fielddelimiter="comma"
enableduplicatedetection="true"
isfirstrowheader="true"
isrecordownerateam="false"
owneruser=""
waitforimporttocomplete="false" />
</filestoimport>
</configdatastorage>
The standard package deployment is designed as a somewhat straightforward process and unfortunately data import can only occur after all solutions have been processed.标准 package 部署被设计为一个有点简单的过程,不幸的是,数据导入只能在所有解决方案都已处理后进行。
However, when you need extra flexibility you could consider adding a custom ImportExtension
class to your project.但是,当您需要额外的灵活性时,您可以考虑将自定义ImportExtension
class 添加到您的项目中。 In this class you can skip the import of Solution3.zip as part of the regular process and import it separately after the primary import has been completed.在此 class 中,您可以跳过作为常规过程的一部分的 Solution3.zip 的导入,并在初级导入完成后单独导入。
[Export(typeof(IImportExtensions))]
public sealed class DeploymentExtension : ImportExtension
{
/// <summary>
/// Called when a single solution is queued for import. Implementation can decide what is to be done.
/// </summary>
public override UserRequestedImportAction OverrideSolutionImportDecision(string solutionUniqueName, Version organizationVersion, Version packageSolutionVersion, Version inboundSolutionVersion, Version deployedSolutionVersion, ImportAction systemSelectedImportAction)
{
return solutionUniqueName == "<Solution3UniqueName>"
? UserRequestedImportAction.Skip
: UserRequestedImportAction.Default;
}
/// <summary>
/// Called after all solution and data imports have been completed.
/// </summary>
/// <returns></returns>
public override bool AfterPrimaryImport()
{
string solutionFilePath = Path.Combine(CurrentPackageLocation, "PkgFolder", "Solution3.zip");
CrmSvc.ImportSolutionToCrm(solutionFilePath, out Guid _);
return true;
}
}
Alternatively you could just import Solution3.zip entirely separated from the other components using Azure DevOps task microsoft-IsvExpTools.PowerPlatform-BuildTools.import-solution.PowerPlatformImportSolution@2
.或者,您可以使用 Azure DevOps 任务microsoft-IsvExpTools.PowerPlatform-BuildTools.import-solution.PowerPlatformImportSolution@2
导入 Solution3.zip 与其他组件完全分开。
Is there a reason its important to import data between solutions?在解决方案之间导入数据是否重要? the process that PD uses is as follows: PD使用的过程如下:
The reason Data is after solutions is data is always dependent on schema, which is deployed by solutions.数据在解决方案之后的原因是数据总是依赖于解决方案部署的模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.