• 使用MS Devops 来部署D365 CE(CRM) Solution


    在D365 CE开发当中,有一个非常痛苦的问题就是开发,测试环境中的export import solution 部署问题.

    Devops中能很好的解决这个问题. 

    工作原理:

    在Azure Devops/VSTS Pipeline中, 如果需要实现设置集成/部署的功能, 我们需要2个pieplines, 一个是Build, 另外一个是 Release.

    Build 是用来触发Export CRM solution 从 Source Environment 并且把.zip solution文件保存在Azure Artifacts drop 文件夹中.

    Release 是用来把保存在Azure Artifacts drop 文件夹中的.zip 文件在Target Environment中触发Import 和 publish solution

    创建Pipeline:

    Build Pipeline:

    1. 首先我们创建一个solution在Source Environment 中:

    2. 我们要在Devops中安装 Dynamics 365 Build Tools.

    Dynamics 365 Build Tools 是一个已经配置好的三方Auzre Devops Pepelines. 可以直接用来做solution部署和其他的功能

    3. 安装好Dynamics 365 Build Tools之后, 我们可以在Devops 中创建 Pipeline了

     4.  点击"New Pipeline"之后,我们需要选择使用 visual designer来创建

    5. 我们这里使用 Azure Repos Git, 可以选择Github或者其他方式的source

    6. 接下来我们需要一个empty的template

    7. 选择empty job之后, 我们需要把agent pool 改为hosted

    8. 我们在第一个agent job 添加一个新的task: MSCRM Tool Installer. 

    ps: 如果这里搜不到Dynamcis 365 Build Tools, 那说明Devops还没有安装成功这个pipeline. 需要去auzre market重新安装.

    9.下面我们要添加一个新的task "MSCRM Export Solution"在MSCRM Publish Customizations 之后.

    并且这里的CRM Connection String需要设置:AuthType=Office365;Username=xxx@xxx.onmicrosoft.com; Password=xxx;Url=https://xxx.crm5.dynamics.com/

    我们的output path 需要改为$(build.ArtifactStagingDirectory)

    10. 接下来我们需要复制我们的.zip文件到azure devops文件夹底下

    11.全部设置好保存之后,让我们run一下这个pipeline. 我们看到一共使用了28s的时间来运行这个pipeline

    到这里我们就成功了一半. 我们把export的 solution已经成功上传到了azure artofact drop 文件夹里. 下面我们需要获取到这个.zip 文件并且import 到我们的target environment中.

    Release Pipeline:

    之前有说过, release pipeline是用来import solution作用的.

    1. 首先我们需要创建一个release pipeline,并且选择empty job, 并且把artifact选为刚才我们做好的build pipeline

    在Pipeline -> Releases ->  Create Release

    2. 接下来我们需要设置这个artifacts.

    3. 编辑好之后,我们需要给release pipeline添加tasks

    这里需要添加两个tasks:

      1. MSCRM Publihs Customizations

      2. MSCRM Export Solution

    ps: Export Solution 里面的配置按照项目需求可以做调整.这里我们就Export unmanaged solution

     

    4. 设置好之后我们保存,并且run一下这个release pipeline

    并且我们查看target environment, unmanaged solution已经被导入了.

     

  • 相关阅读:
    MongoDB学习笔记(一:常见问题汇总)
    设计模式学习笔记(三:装饰模式)
    设计模式学习笔记(二:观察者模式)
    设计模式学习笔记(一:命令模式)
    Java基础知识笔记(七:接口、变量作用域和参数传递)
    Java基础知识笔记(六:网络程序设计)
    一周总结汇总_2016-09-25
    开涛spring3(8.1)
    开涛spring3(7.5)
    开涛spring3(7.4)
  • 原文地址:https://www.cnblogs.com/TheMiao/p/12316505.html
Copyright © 2020-2023  润新知