我有一个要求,我需要将我的源组织上安装的托管包部署到目标组织。我相信必须有一种方法可以像使用所有其他与Salesforce相关的组件一样使用ANT进行部署。
有人可以帮助我指出可用于实现此目的的过程和ANT语法吗?
我首先要在本地检索包,然后将包部署到目标组织。
答案 0 :(得分:0)
您也可以对托管包使用ANT迁移。只需使用" retrieveNamedPackage"在ANT命令中定位以提取托管包。
在此" retrieveNamedPackage "目标,您应在 packageNames 属性中指定正确的托管包名称。
<target name="retrieveNamedPackage">
<sf:retrieve
username="${sf.username}"
password="${sf.password}"
sessionId="${sf.sessionId}"
serverurl="${sf.serverurl}"
retrieveTarget="projectFolder"
packageNames="mySourcePackage"/>
</target>
检索后,内容现在将在&#34; projectFolder&#34; (正如在retrieveTarget属性中提到的那样。
用于部署&#34; projectFolder &#34;中的内容(这是您的托管包组件)到目标组织,使用以下目标。
<target name="deployPackaged">
<sf:deploy
username="${sf.username}"
password="${sf.password}"
sessionId="${sf.sessionId}"
serverurl="${sf.serverurl}"
deployroot="projectFolder"/>
</target>
您可能遇到的一些错误: 1.指定的包命名空间:NAMESPACE与服务器的命名空间
不匹配原因:这是因为package.xml包含一个标记,该标记的名称空间值与您的org名称空间不匹配。
修复1:从package.xml中删除标记,然后尝试使用ANT进行部署。
修复2:设置组织的命名空间(https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/namespaces_creating.htm),然后在package.xml中指定此命名空间,并尝试使用ANT进行部署。
免责声明:如果您正在尝试修复2,请在设置命名空间之前在您的组织中进行影响分析。我认为在设置后你无法回滚命名空间。在您的客户组织中尝试此操作之前,请在您的SF开发人员组织中尝试此操作。