Dynamics 365 自动化发布工具Spkl介绍

2023-10-31

      本篇主要是为了后面讲述CI/CD时用到的工具做一个说明,先奉上spkl的github地址,没听说过的可以去查看下,挺不错的工具。

      我们主要用这个工具来部署WebResource, Plugin和Workflow Activities 以及后续的CI

      首先从nuget上下载工具包,

    下载完后会看到一个spkl的文件夹和一个spkl.json的配置文件

     在WebResource目录下建了两个js用于测试

     下一步就是去配置spkl.json,将文件映射到系统的解决方案下,这里贴出我的POC环境下的配置供参考, 关键的就是我注释的几个配置,

 "webresources": [
      {
        "profile": "default,debug",
        //相对于配置文件的目录的相对路径
        "root": "./Webresources/",
        //解决方案名称
        "solution": "DevopsWebResource",
        "files": [
          {
            "uniquename": "ava_/Contact.js",//系统中的webresource名称
            "file": "scripts/Contact.js",//文件路径
            "description": ""
          }
        ]
      },
      {
        "profile": "default,debug",
        "root": "./Webresources/",
        "solution": "DevopsWebResource",
        "files": [
          {
            "uniquename": "ava_/Test.js",
            "file": "scripts/Test.js",
            "description": ""
          }
        ]
      }
    ]

     以上都配置完后就可以去发布了,到spkl文件夹下双击webresource的批处理文件"deploy-webresources.bat"

     首次打开会让你输入系统的登录信息,输入URL后会弹登录框让你登录

     登录后就会根据配置文件自动发布了, 批处理脚本会判断JS是否有更改,有更改才会发布,没更改就直接跳过了

    当然也可以采用unattended的命令执行方式,以管理员身份运行cmd, cd到批处理文件所在目录,执行deploy-webresources.bat "连接字符串",这种unattended的方式也是后续CI中会用到的执行方式

url=https://xx.crm5.dynamics.com/;AuthType =ClientSecret;ClientId=ssxxxx28f-a166-3b54179c3a86;ClientSecret=xxxxxx2u~nmHXQco~;AppId =xxxxx79c3a86; RedirectUri = app://343fd800-95a9-4f75-9c59-0dde4990de54;

     以上WebResource的自动发布方式就介绍完了,下面再介绍下Plugin

     spkl的包下载后会有个CrmPluginRegistrationAttribute的说明文件,可以看下里面的内容,定义了Plugin注册所用到的内容,只需要在我们的Plugin头上注明当前Plugin的注册信息即可

    Plugin的相关配置文件很简单,指定你Assembly所在的文件目录即可

    "plugins": [
      {
        /*
            Required - assemblypath - Relative path (from this file or the path parameter above) to the assembies to deply
            Can be either plugins or workflow activities
            Create multiple entries for different profiles
            */
        "profile": "default,debug",
        "assemblypath": ".\\bin\\debug"
        /*
            Optional - defines the regex to use to detect a plugin or workflow activity when using a custom base class
            */
        //"classRegex": "((public( sealed)? class (?'class'[\\w]*)[\\W]*?)((?'plugin':[\\W]*?((IPlugin)|(PluginBase)|(Plugin)))|(?'wf':[\\W]*?CodeActivity)))"
      }
    ]

     

     然后就是执行Plugin的批处理命令

    最后去插件注册器看下,已成功注册上了,好处是不用你再打开插件注册器手工去注册Plugin和Step等了

    最后附上常用的几个注册说明供参考,具体可查看参数提示

    [CrmPluginRegistration(MessageNameEnum.Create, "account", StageEnum.PreValidation, ExecutionModeEnum.Synchronous, "", "Pre Create Account", 1, IsolationModeEnum.Sandbox)]
    [CrmPluginRegistration(MessageNameEnum.Create, "account", StageEnum.PostOperation, ExecutionModeEnum.Synchronous, "", "Post Create Account", 1, IsolationModeEnum.Sandbox)]
    [CrmPluginRegistration(MessageNameEnum.Update, "account", StageEnum.PreValidation, ExecutionModeEnum.Synchronous, "name", 
        "Pre Update Account", 1, IsolationModeEnum.Sandbox, Image1Attributes = "", Image1Name = "preimage", Image1Type = ImageTypeEnum.PreImage)]
    [CrmPluginRegistration(MessageNameEnum.Update, "account", StageEnum.PostOperation, ExecutionModeEnum.Synchronous, "name", "Post Update Account", 1, IsolationModeEnum.Sandbox)]

 

 

 

     

 

      

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dynamics 365 自动化发布工具Spkl介绍 的相关文章

  • vue.js:基于nodejs使用log4js输出日志文件

    一 问题 开发web项目过程中 常规的console log 只是将信息反映在了浏览器的控制台 我们经常需要输出到文本日志文件 以便开发调试和维护排查 下面介绍log4js在vue项目中的部署与使用 二 解决方案 1 安装log4j 注意
  • 2023 年及未来最佳的软件构建工具

    当今世界 加快任务完成速度和尽可能减少人力投入是一切事物都需要关注的问题 软件开发也不例外 无论你在哪个领域 游戏 区块链 还是应用创建 软件开发的竞争都异常激烈 只要能够帮助到你 采用任何手段都无关紧要 而这也正是构建工具的作用 这些工具
  • Dynamics 365 自动化发布工具Spkl介绍

    本篇主要是为了后面讲述CI CD时用到的工具做一个说明 先奉上spkl的github地址 没听说过的可以去查看下 挺不错的工具 我们主要用这个工具来部署WebResource Plugin和Workflow Activities 以及后续的
  • Create Custom APIs in Dynamics 365 CRM

    Create Custom APIs in Dynamics 365 CRM Power Platform Custom API 系统间集成的新方法 本质上来说和之前的Custom Action区别不大 但从定义到注册整套更规范化 UI配置
  • Dynamics 365 subgrid 保存后刷新主窗体 新方式

    在 Dynamics 365开发中经常遇到 subgrid 保存后刷新主窗体或者 subgrid 刷新后刷新主窗体的需求 在圈内的文章中提供了两种手段 今天补充第三种方式 1 在主表单加一个定时任务 定时的去捞取后台数据库的数据和前台比较
  • Dynamics 365 UI Controls 用Calendar View来查看数据

    Dynamics 365 在升级到new UI之后 支持一种calendar 形式来查看view数据 今天我们来说一下怎么在一个特定的view上来实现用calendar查看 1 首先进入Customization页面 找到你想开启Calen
  • Connect Dynamics 365 and Social Engagement

    Establish a connection between Social Engagement and Dynamics 365 To connect Dynamics 365 online and Social Engagement b
  • 36-Jenkins-Job迁移

    Job迁移 前言 1 安装插件 2 配置信息 3 使用插件 前言 本篇来学习Jenkins中如何快速迁移job 在工作中可能会遇到这样的场景 即需要把一个Jenkins上的job迁移到另外一台Jenkins上 那怎么做比较好呢 一起来学习下
  • Gitee Go代码格式审查、程序编译和冒烟测试

    本文分享自中移OneOS微信公众号 CI CD搭建流程 Gitee篇 作者 Kisann Gitee CI CD能力 Gitee 即码云 是OSCHINA NET推出的代码托管平台 已有超过600 万的开发者选择Gitee Gitee Go
  • Dynamics CRM SLA 使用限制

    自身限制 一 不能循环 例如 Failure设置3天提醒 Warning设置5天提醒 只能是从Applicable From时间开始 第3天Failure 第5天Warning 不能有第二次3天和5天的提醒 不能循环发邮件 例如Warnin
  • Dynamics 365 DevOps CI/CD之WebResource

    对于D365自身的发布 简单点来说就是Solution的发布 复杂一些会涉及周边集成接口等一系列的发布 如果是单纯的Solution的发布的Azure DevOps商店里有很多工具 比如Power DevOps Tools 这个我之前也有博
  • 计算机网络详细讲解-----核心,边缘;datagram,virtual circuit【计算机网络养成】

    计算机网络养成 内容导航 计算机网络养成 网络边缘 应用进程和应用进程联系的模式 客户 服务器模式 C S架构 对等模式 peer peer 模式 网络边缘 采用网络设施的面向连接服务 目标 握手 TCP 传输控制协议 传输层 Transm
  • Dynamics CRM on premise 和 Skype for Business 集成显示用户状态

    Applies To Dynamics 365 online Dynamics 365 on premises Dynamics CRM 2016 Dynamics CRM Online Using Skype for Business w
  • Dynamics 365 DevOps CI/CD之ConfigurationData

    ConfigurationData如省市区 门店地址这种业务类型的数据 还有系统自定义过程中配置或开发涉及的参数 需要在系统间进行同步 此处CI用到了Power Platform Tool这个工具 这个也是可以在Azure DevOps的商
  • Opening a specific View directly from the SiteMap in Dynamics

    Opening a specific View directly from the SiteMap in Dynamics CRM Consultancy Blog Dynamics 365 Unified User Interface D
  • UI自动化测试潮流代表工具—testsigma CI/CD

    Step1 创建测试计划 Step2 添加测试机器和测试套件 Step3 进入CI CD integrations Step4 复制测试计划API Step5 命令行执行测试计划API Step6 点击View Report Step7 验
  • Dynamics 365 DevOps CI/CD之Solution

    CI CD到了Soution就没太多可说的了 按部就班配置就行 我选择的工具是Power DevOps Tool 1 首先下载工具 然后设置连接字符串去连环境 连接字符串还是用ClientSecret的形式 2 当然导出前还是要发布下自定义
  • Dynamics CRM: 使用setFilterXml来过滤需要在表单的Subgrid控件中进行展示的记录

    我们经常在表单中会用到subgrid控件 通常在一个表单中插入subgrid用来显示另外一个实体中的记录 而显示的内容我们是通过定义不同的视图来进行显示的 也可以通过javascript来进行一些控制 今天这篇博文我们使用另外一种方法来实现
  • 医疗保健软件必备指南

    对许多人来说 软件可能是一种奢侈品 只会给生活在 21 世纪的人们带来一些额外好处 但有时 软件可能是救命稻草 起着生死攸关的作用 根据医疗行业的部分统计数据 我们清醒地发现 美国平均每年约有 25 万至 40 万患者死于本可预防的医疗差错
  • CI/CD

    CICD 是 持续集成 Continuous Integration 持续交付和持续部署 Continuous Deployment 简称 指在开发过程中自动执行一系列从开发到部署的过程中 尽量减少人工的介入 CI CD AND CD CI

随机推荐

  • sqli-labs通关大全(更新至Less60)

    sqli labs通关 less1 less10 箭雨镜屋 CSDN博客 sqli labs通关 less11 less20 箭雨镜屋 CSDN博客 sqli labs通关 less21 less30 箭雨镜屋 CSDN博客 sqli la
  • config:fail,Error: 系统错误,错误码:63002,invalid signature

    经过半天的尝试 终于把这个解决了 本文章比较是和 前端用 hash分享下这个问题吧 看了好多文章都没解决了我的问题 直接上干货 1 首先出一张基本的问题图 2 针对上面这个图第2点内 hash 做个讲解 因为我前端用的 hash模式 一般网
  • 编码之Base64编码

    Base64编码 是一种基于 64 个可打印字符来表示二进制数据的方法 目前 Base64 已经成为网络上常见的传输 8 位二进制字节代码的编码方式之一 为什么会有 Base64 编码呢 因为有些网络传送渠道并不支持所有的字节 例如 传统的
  • 【Xilinx AX7103 MicroBalze学习笔记2】MicroBlaze 串口发送 Hello World 实验

    目录 实验介绍 硬件设计 Vivado部分 创建工程 搭建Block Design MicroBlaze部分 外围模块部分 时钟模块 Uart部分 管脚绑定 时钟约束 生成Bit流文件 软件设计 SDK部分 板级验证 总结 往期系列博客 实
  • stm32无人机-飞行力学原理

    惯性导航 是一种无源导航 不需要向外部辐射或接收信号源 就能自主进行确定自己在什么地方的一种导航方法 惯性导航主要由惯性器件计算实现 惯性器件包括陀螺仪和加速度计 一般来说 惯性器件与导航物体固连 加速度计测量物体运动的加速度 已知初始状态
  • Java分治算法经典案例之汉诺塔

    分治算法 思想 当我们求解某些问题时 由于这些问题要处理的数据相当多 或求解过程相当复杂 使得直接求解法在时间上相当长 或者根本无法直接求出 对于这类问题 我们往往先把它分解成几个子问题 找到求出这几个子问题的解法后 再找到合适的方法 把它
  • Unable to install “xxx“

    Unable to install xxx Xcode Could not inspect the application package macOS Version 11 4 Build 20F71 Xcode 12 5 1 18212
  • Ubuntu终端使用todesk命令

    Ubuntu终端使用todesk命令 todesk是一款免费的远程控制软件 支持Windows Linux Mac Android iOS等多种平台 可以实现跨设备的远程控制 文件传输 远程打印等功能 本文将介绍如何在Ubuntu终端使用t
  • matlab求图像杰卡德系数,Jaccard similarity coefficient for image segmentation

    This example shows how to segment an image into multiple regions The example then computes the Jaccard similarity coeffi
  • 免费的云服务器,大家推荐哪个呢?

    搭建一个云平台的成本还是很高的 但是就没有企业免费为公众提供服务的吗 其实免费的服务器是有的 各大平台都有 阿里云 腾讯云都有 只是受时间限制的 大多数是7天或者15天 但是某丰云却号称是永久免费的 其实它是有前提的 释放以后的数据也就永远
  • 第一课:使用C++实现图片去水印

    目录 1 功能概述 2 具体实现 2 1 导入OpenCV库和头文件 2 2 读入图像并显示 2 3 提取水印区域 2 4 重构去除水印后的图像 3 完整代码如下 4 实现效果 5 介绍几种PS去水印的方法 5 1 裁剪法 5 2 借图法
  • c1047: [编程入门]报数问题[报3退出]

    有n人围成一圈 顺序排号 从第1个人开始报数 从1到3报数 凡报到3的人退出圈子 问最后留下的是原来的第几号的那位 输入 初始人数n 输出 最后一人的初始编号 样例输入复制 3 样例输出复制 2 思路 约瑟夫环问题 需要考虑 1 成环 即当
  • 2023年软件测试常见面试题100%问必背全套教程

    随着数字化时代的到来 软件测试越来越受到重视 在未来的几年里 软件测试将继续成为信息技术领域中的热门职业之一 如果你是一名正在寻找或准备进入软件测试行业的人 那么这套常见面试题全套教程对你来说会非常有用 这套教程旨在帮助你了解2023年软件
  • Hdfs页面操作文件出现 Permission denied: user=dr.who, access=WRITE, inode=“/“:hadoop:supergroup:drwxr-xr问题解决

    错误描述 Permission denied user dr who access WRITE inode hadoop supergroup drwxr xr x 先开始一直纠结我是用hadoop用户登录操作的 为什么会是dr who d
  • eNSP之安全策略的配置

    命令行模式 FW firewall zone trust 进入trust区域 FW zone trust add int g1 0 0 把g1 0 0加入trust区域 undo add int g1 0 0 取消加入 FW firewal
  • C语言题目解析(一)

    C语言题目解析 1 打印 1 100之间的奇数 1 1 题目描述 1 2 解法思路 1 3 代码 1 4 运行结果 2 打印9 9乘法 诀表 2 1 题目描述 2 2 解题思路 2 3 解法代码 2 4 运行结果 3 打印素数 3 1 题目
  • 禁用cookie和私密浏览模式情况下localstorage需要注意的问题

    localstorage是html5新增的一个功能 用于本地存储 主要解决cookie存储量小的问题 官方建议每个网站最多存储5M大小 localstorage相关的函数 cookieEnabled 移动端在使用localstorage需要
  • TCP和UDP详解

    本篇文章主要是从运输层协议概述 UDP TCP 可靠传输的工作原理 TCP首部格式 TCP可靠传输的实现 TCP流量控制 TCP的拥塞控制 TCP的连接管理这几个方面进行解析 不对之处还望指出 喜欢的可以点赞关注一下 谢谢 一 运输层协议概
  • 写一段js代码,完成字段校验规则:字段的长度必须介于6-20位之间,必须包含大小写字母和数字。...

    var regex new RegExp a z A Z 0 9 a zA Z0 9 6 20 if regex test fieldValue 校验通过 else 校验不通过
  • Dynamics 365 自动化发布工具Spkl介绍

    本篇主要是为了后面讲述CI CD时用到的工具做一个说明 先奉上spkl的github地址 没听说过的可以去查看下 挺不错的工具 我们主要用这个工具来部署WebResource Plugin和Workflow Activities 以及后续的