我们正在研究如何设置适当的部署过程.
从我所读到的,似乎有4种方法可以做到这一点.
复制和粘贴 - 我们不想这样做
使用Salesforce Web界面中内置的"包"机制
Eclipse Force IDE"部署到服务器"选项
Ant脚本(尚未尝试过这个)
有没有人对各种方法的限制有所建议.
你能在Web Interface包中包含所有内容吗?
我们希望部署以下项目:
Apex课程
Apex触发器
工作流程
邮件模板
MailMerge模板 - 似乎无法在Eclipse中找到它们
自定义字段
页面布局
RecordTypes(似乎无法在网站或Eclipse中找到这些)
PickList项目?
SControls
Ryan Guest.. 15
我推荐使用Force.com迁移工具.
以供参考:
Force.com迁移工具文档
迁移工具指南
迁移工具允许您使用ant目标在salesforce.com组织之间移动元数据.
我推荐使用Force.com迁移工具.
以供参考:
Force.com迁移工具文档
迁移工具指南
迁移工具允许您使用ant目标在salesforce.com组织之间移动元数据.
我可以从最近的痛苦经历中谈到这一点.
打包:这是一种非常古老的方法,它早于Ant和Eclipse所依赖的元数据API.根据我们的经验,包装的唯一好处是定义您的项目.如果您正在使用Eclipse(我们这样做,我推荐),您可以将项目定义为基于特定包.只要您记得在包中添加新组件,您的项目就会挂起来
令我们困惑的一件事,顺便说一下,包装的许多用途.我们注意到以下内容:
已安装的软件包:这些软件包含托管和非托管版本,实际上,正如SFDC主席最近发布的一篇文章所述,ISV将其内容部署到各种未知的组织中.托管和非托管软件包都有一些限制,使得它们不适合在组织中从开发到生产部署,或者在您进行自定义开发并且不打算将代码分发给大型匿名库的任何情况下都不需要.
未安装的软件包:这是您在Web UI中单击"软件包"时看到的内容.我们有时称之为"开发包"的这些似乎只是将项目定义保持在一起的便捷方式.
无论如何,我要提出的结论是我们的团队(定制开发,而不是ISV)不需要任何形式的包.
其他形式的部署(Eclipse和Ant)都依赖于Metadata API.从理论上讲,它们具有完全相同的功能.实际上它们似乎是互补的.内置于Force.com IDE for Eclipse中的Force.com迁移工具使部署变得尽可能简单(这不是很简单),并让您很好地了解它打算部署什么.另一方面,我们已经看到Ant做了一些IDE无法做到的事情.因此,两者都值得学习.
我们倾向于将所有项目保留在SVN中,并使用SVN结构作为项目定义(Eclipse将使用它并尊重它).我们使用Eclipse,有时使用Ant进行迁移.在任何地方都不需要包装.
顺便说一下,还有一件事需要注意 - 并非所有组件都是可迁移的.有些东西必须在目标环境中手动重新配置.一个例子是基于时间的工作流程.我认为,队列和组也需要进行行为创建.同样,元数据API无法直接处理字段删除,因此如果您删除了源中的字段,则需要在目标中手动删除它.还有其他情况.
希望这很有用 -
- 史蒂夫莱恩