Dynamics 365 DevOps CI/CD之WebResource

2023-11-13

      对于D365自身的发布,简单点来说就是Solution的发布,复杂一些会涉及周边集成接口等一系列的发布。如果是单纯的Solution的发布的Azure DevOps商店里有很多工具,比如Power DevOps Tools,这个我之前也有博文转载过相关文章,里面有配置步骤。

     那对于Solution的发布来说,其中包含了很多的组件(Component),其中涉及到代码的如WebResource,Plugin,Action,Custom WorkFlow等。那CI的部分就是需要将这些代码从git repo中拉取最新的发布到D365。

      本篇就以WebResource的发布举例,会使用到另一篇博文中的发布工具skpl,具体工具怎么试用跳转链接查看, 下面介绍下如何构建CI Pipeline

1,新建一个Pipeline, 选择Azure Repos, 选择对应的项目和代码分支

2,如果你的Project中使用到了NuGet包,则需要先下载NuGet tool, 然后添加NuGet restore命令

3, 编译下项目,如果你的项目下只有纯WebResource没有其他,就不需要编译,但很多项目会使用TS写,这时候就需要编辑转化成JS文件,编译是需要Agent的,现在Azure提供了默认的Agent的,如果没有引用其他复杂的第三方组件(这里就需要你自己安装Azure VM来设置编译环境作为Agent了),普通的编译是足够的,

4,然后就是Copy我们的可执行文件,我这的POC比较简单,就拷贝了scripts下的JS文件,Source Folder就是你的Azure Repo中的代码路径,Target Folder就是跑批需要的JS被执行文件的存放地址

$(build.ArtifactStagingDirectory)\Webresources\scripts

 5,继续拷贝spkl执行文件和配置文件(配置文件如何设置见spkl博文介绍),Target Folder就是这两个文件存档的执行地址

$(build.ArtifactStagingDirectory)/spkl

 6,最后一步就是发布Artifact

 设置完上述6步,我们的CI Pipeline就设置完成了,下面来配置CD Release

1, 首先添加我们的CI Artifacts, 并且Enable CD trigger, 即CI执行成功后立即执行CD

 2,接下来配置CD中的Task, Agent还是使用Azure内置的,因为我们的发布需要使用到spkl工具,而这个工具需从NuGet下载,所以我们首先需要下载NuGet Tool

 3, 第二步就是下载spkl了

 4,第三步是删除多余的配置文件,而这个安装目录里的config文件只是个sample无法执行的,而命令行会一直搜索config文件去执行导致报错,所以删掉它

spkl.1.0.640\content

 5,最后一步就是执行命令了,path就是指定到CI阶段生成的执行文件,connection变量就是bat执行命令所需的连接D365的字符串,这里需要用ClientSecret

url=https://xxx.crm5.dynamics.com/;AuthType =ClientSecret;ClientId=xxx;ClientSecret=xxx;AppId = xxx; RedirectUri = app://343fd800-95a9-4f75-9c59-0dde4990de54;

 至此CD配置就完成了,执行下CI看看结果吧,上几张关键的执行图

从repo拉取最新的JS文件,并copy到执行目录

 copy spkl执行文件和配置文件

  CD执行deploy命令,发布到D365

 下图的报错就是在CD阶段要删除spkl默认文件夹下的配置文件的原因

      

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

Dynamics 365 DevOps CI/CD之WebResource 的相关文章

随机推荐

  • MATLAB基础篇——基本语法

    MATLAB基础篇 基本语法 一 数据类型与变量 数据类型 变量 二 矩阵 字符串 三 运算 四 MATLAB常用函数 五 矩阵分析与处理 六 程序设计 七 符号计算 MATLAB Matrix laboratory 一般操作 1 操作界面
  • vue高级篇

    笔记 脚手架文件结构 node modules public favicon ico 页签图标 index html 主页面 src assets 存放静态资源 logo png component 存放组件 HelloWorld vue
  • 算法之路--高斯分布(一)

    正态分布 英语 normal distribution 又名高斯分布 英语 Gaussian distribution 是一个非常常见的连续概率分布 正态分布在统计学上十分重要 经常用在自然和社会科学来代表一个不明的随机变量 可以判断各种情
  • jenkins api获取构建日志_Jenkins master位于k8s集群外,实现jenkins slave的动态构建

    Jenkins基于 kubernetes plugin 与k8s集成 可以使Jenkins slave以pod的形式在k8s集群内部动态构建 运行 销毁等 通过 jenkinsci kubernetes plugin 了解到 Jenkins
  • arm-none-linux-gnueabi-gcc下载

    arm none linux gnueabi gcc是 Codesourcery 公司 目前已经被Mentor收购 基于GCC推出的的ARM交叉编译工具 可用于交叉编译ARM系统中所有环节的代码 包括裸机程序 u boot Linux ke
  • 分词汇总

    SCWS Author Hightman 算法 基于词频词典的机械中文分词引擎 采用的是采集的词频词典 并辅以一定的专有名称 人名 地名 数字年代等规则识别来达到基本分词 准确率 经小范围测试大概准确率在 90 95 之间 已能基本满足一些
  • 移动Web开发入门(三) -- touch事件

    文章目录 touch事件 touch事件分类 代码演示 页面效果 点击红色区域未移动 点击红色区域 移动到红色区域抬起 点击红色区域 移动到红色区域外抬起 在红色区域外点击 移动到红色区域抬起 在红色区域外点击 穿过红色区域移动到红色区域外
  • 在Qt中,信号(signal)是怎样传递的

    在Qt中 信号 signal 是利用Qt的事件系统实现的 当信号被发射时 Qt会将其转换为一个事件 并将其插入到应用程序的事件队列中 每个QObject对象都有一个事件接收函数 即QObject event 函数 用于接收和处理事件 当一个
  • 如何使用宝塔面板搭建网站(搭建宝塔页面)

    书接上回 咱们已经搭建好咱们的Linux服务器 接下来改是搭建宝塔页面的教程了 这里我们需要一个域名 自行去各家云服务器购买域名 例如 腾讯云 阿里云 华为云等等 购买一个域名之后我们就可以开始搭建了 首先 启动你的Linux服务器 在此页
  • 4、Nginx 配置实例-反向代理

    文章目录 4 nginx 配置实例 反向代理 4 1 反向代理实例一 4 1 1 实验代码 4 3 反向代理实例二 4 3 1 实验代码 尚硅谷 尚硅谷Nginx教程由浅入深 志不强者智不达 言不信者行不果 4 nginx 配置实例 反向代
  • 0401自学web后端之——Flask配置文件

    输出默认config from flask import Flask current app app Flask name with app app context print dict current app config ENV pro
  • 【转】BAT机器学习面试1000题系列(第288~305题)

    288 LSTM神经网络输入输出究竟是怎样的 YJango 本题解析来源 https www zhihu com question 419497412017年1月4日文章Recurrent Layers 介绍 第一要明确的是神经网络所处理的
  • 信息管理毕业设计选题推荐

    文章目录 0 前言 1 java web 管理系统 毕设选题 2 java web 平台 业务系统 毕设选题 3 游戏设计 动画设计类 毕设选题 适合数媒的同学 4 算法开发 5 数据挖掘 毕设选题 6 大数据处理 云计算 区块链 毕设选题
  • 爬虫之代理的问题解决

    爬虫之代理 昨天学习小甲鱼的代理 但是弄了一晚上也没成功 一会是什么不积极相应 一会又是什么远程主机拒绝访问 http 45 32 164 128 ip php是个能返回当前访问的IP的网址 123 163 27 115 9999 是我在h
  • 视觉SLAM技术及其应用(章国锋--复杂环境下的鲁棒SfM与SLAM)

    SLAM 同时定位与地图构建 机器人和计算机视觉领域的基本问题 在未知环境中定位自身方位并同时构建环境三维地图 应用广泛 增强现实 虚拟现实 机器人 无人驾驶 SLAM常用的传感器 红外传感器 较近距离感应 常用与扫地机器人 激光雷达 单线
  • Myeclipse Bule Edition 添加SVN的方法

    今天 因项目需要在Myeclipse中添加svn 添加svn的方法可能有很多种 比较简单的自然是自动安装 这里离介绍一下手动的安装方法 1 需要下载一个subeclipse site的压缩包 网上有得下 subeclipse site 1
  • nginx check健康检查

    nginx利用第三方模块nginx upstream check module来检查后端服务器的健康情况 大家都知道 前段nginx做反代 如果后端服务器宕掉的话 nginx是不能把这台realserver提出upstream的 所以还会有
  • 高性能 Jsonpath 框架,Snack3 3.2.29 发布

    Snack3 一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明 及 Xml dom 一切都是 Node 的设计 其下一切数据都以ONode表示 ONode也即 One node 之意 代表任何类型
  • VUE项目性能优化,v-if,v-for,props,computed,watch......

    VUE项目性能优化 v if v for props computed watch 下个星期就要用vue开发了 就未雨绸缪的搜集了一些干货 整理出来 1 解决v for和v if优先级问题 以及通过计算属性来做数据筛选
  • Dynamics 365 DevOps CI/CD之WebResource

    对于D365自身的发布 简单点来说就是Solution的发布 复杂一些会涉及周边集成接口等一系列的发布 如果是单纯的Solution的发布的Azure DevOps商店里有很多工具 比如Power DevOps Tools 这个我之前也有博