流程自动化RPA,Power Automate Desktop系列 - DotNet Core打包并发布Nuget Package
一、背景
DotNet Core通常基于Nuget来实现包管理,如果你想要把自己的实现共享给其他人,通常我们需要把本地项目打包好,然后发布到对应的Nuget Server上,以便于其他人可以查找、安装、升级。

二、创建流任务
创建名为打包并发布Nuget Package的流任务。
三、添加主流程
3.1 直接就用主流程,或者新建名为PackAndPublishNuget的子流程
0. 概览

1. 显示选择文件夹对话框,描述为"请选择要打包的项目目录",弹窗交互选择需要打包的项目文件夹,存储结果在变量PackageProjectDirPath中。

如果常用位置,可以设置初始文件夹位置,以免每次都选来选去。
2. 执行PowerShell脚本来执行打包,执行指定项目打包命令,这个动作我们命名为PackTargetProject
cd %PackageProjectDirPath%
dotnet pack -c Release

这里切换到项目文件夹目录,然后执行DotNet CLI自带的命令来执行dotnet pack打包动作,其中-c Release就是指定打Release模式的包。
3. 设置变量,变量名为PackageFileDir,用来组装Nuget包所在目录。
该路径应该是组装了PackageProjectDirPath和生成的Nuget包的项目目录路径。
%PackageProjectDirPath%\bin\Release

4. 获取文件夹中的文件,从PackageFileDir中提取目录中的最新Nuget包
我们需要通过获取文件夹中的文件这个操作针对PackageFileDir目录,提取其中*.nupkg格式的文件,得到一个名为NugetPackageFiles的变量,并且按文件的上次修改时间进行倒序排序,以便后续筛选,因为通常我们新打的包的修改日期是最新的。
%PackageFileDir%
*.nupkg

5. 设置变量,变量名为PackageFilePath,用来提取最新一个Nuget包路径。
我们只需要提取列表的第一个元素就可以得到PackageFilePath变量。
%NugetPackageFiles[0]%

6. 获取文件路径部分,从PackageFilePath提取带后缀文件名,存储结果在PakcageFileName。
在最终的Nuget命令中我们会需要Nuget包带后缀文件名这么一个东西,那么我们可以通过获取文件路径部分操作来得到PakcageFileName变量。
%PackageFilePath%

7. 设置变量,变量名为NugetServerAuthKey,用来存储Nuget服务器的授权密钥。

8. 设置变量,变量名为NugetServerUrl,用来存储Nuget服务器的网络地址。

9. 运行PowerShell脚本,来执行最终的Nuget包上传命令,这个动作我们命名为UploadPackageFile
cd %PackageFileDir%
dotnet nuget push %PakcageFileName% --api-key %NugetServerAuthKey% --source %NugetServerUrl%
先切换到PackageFileDir目录,然后执行DotNet CLI自带的命令来执行dotnet nuget push推送动作,推送到我们指定的Nuget服务节点即可。

这里注意,如果你推送的Nuget包版本服务器已存在,它也会执行成功哈。
测试验证



Power Automate Desktop/RPA 爱好者交流群

流程自动化RPA,Power Automate Desktop系列 - DotNet Core打包并发布Nuget Package的更多相关文章
- 流程自动化RPA,Power Automate Desktop系列 - 不讲武德的Windows10内置应用
简介 Power Automate Desktop 扩展Power Automate中的现有机器人流程自动化(RPA)功能,并使您能够自动化所有重复的桌面流程. 使用预生成的拖放操作或记录您自己的桌面 ...
- 流程自动化RPA,Power Automate Desktop系列 - 创建WPF程序安装包及升级包
一.背景 之前写过的几个WPF小工具,每次发布都需要给它打安装包和升级包,涉及到一些系列繁琐的手工操作,有了Power Automate Desktop,于是便寻思着能不能做成一个自动化的流来使用. ...
- 流程自动化RPA,Power Automate Desktop系列 - 批量备份Git仓库做好灾备
一.背景 打个比如,你在Github上的代码库需要批量的定时备案到本地的Gitlab上,以便Github不能访问时,可以继续编写,这时候我们可以基于Power Automate Desktop来实现一 ...
- 流程自动化RPA,Power Automate Desktop系列 - 发布文档中心
一.背景 内网中有一个基于VuePress搭建的静态文档中心,但是每次修改后都需要重新Build一次才行,之前都是手动执行命令,现在可以基于Power Automate Desktop来创建任务了. ...
- 流程自动化RPA,Power Automate Desktop系列 - 构建VuePress文档中心脚手架
一.背景 笔者曾基于VuePress搭建过一个文档中心,但是在实现在线管理功能之前,很多时候,新建文档需要手动处理很多数据,看有没有可能实现一个脚手架来处理这些问题,所谓脚手架,就是进行文档初始化的一 ...
- dotnet core 通过 frp 发布自己的网站
很多时候写出来的网站只能自己内网访问,本文告诉大家如何通过 Frp 将自己的 asp dotnet core 网站发布到外网,让小伙伴访问自己的网站 通过 frp 的方式,可以解决自己的服务器性能太差 ...
- dotnet core 跨平台编译发布
vs2017 建立的项目,在项目目录 ,执行 dotnet publish -r ubuntu.15.04-x64 dotnet publish -r linux-x64 dotnet publish ...
- dotnet core瘦身发布
需要安装nuget包Microsoft.Packaging.Tools.Trimming然后利用如下命令发布dotnet publish -r win10-x64 -c release --self- ...
- 使用 dotnet CLI 来打包和发布 .NET Core nuget package
原文链接:使用 dotnet CLI 来打包和发布 .NET Core nuget package 如何使用 visual studio 2015/2017 打包和发布 Nuget package, ...
随机推荐
- [刷题] 75 Sort Colors
要求 给只有0 1 2三个元素的数组排序 思路 方法1:遍历数组,利用辅助数组保存三个元素的个数,再写入(遍历两遍) 辅助数组有三个元素,对应0 1 2的个数 方法2:模拟三路快排,遍历一遍完成排序 ...
- systemctl list-unit-files
[CentOS]centos7上查看服务开机启动列表 systemctl list-unit-files centos7上查看服务开机启动列表 命令: systemctl list-unit-file ...
- Docker Swarm(五)Config 配置管理
前言 在动态的.大规模的分布式集群上,管理和分发配置文件也是很重要的工作.传统的配置文件分发方式(如配置文件放入镜像中,设置环境变量,volume 动态挂载等)都降低了镜像的通用性. Docker 1 ...
- xpath定位中starts-with、contains、text()的用法
starts-with 顾名思义,匹配一个属性开始位置的关键字 contains 匹配一个属性值中包含的字符串 text() 匹配的是显示文本信息,此处也可以用来做定位用 eg //input[sta ...
- keil使用VScode外部编辑器
1.首先我们双击桌面的keil图标,打开keil主界面: 2.点击上方菜单栏的Tools菜单,选择如下图所示的选项: 3.点击如下图所示的菜单上红笔标注的地方,给这个工具命名为vscode: 4.然后 ...
- pyqt安装
一.安装PyQt5 pip install PyQt5 二.安装PyQt-tools pip install PyQt-tools *注:mac不需要安装PyQt-tools,能够正常使用,只支持Wi ...
- 『动善时』JMeter基础 — 30、JMeter中JSON断言详解
目录 1.JSON断言组件界面详解 2.JSON断言组件的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 (3)JSON断言界面内容 (4)查看运行结果 (5)断言结果组件说明 3.JS ...
- Python发送SMTP邮件指南
SMTP(Simple Mail Transfer Protocol)简单邮件传输协议,Python内置对SMTP的支持,可以发送纯文本文件,HTML邮件以及附带文件. 一.两个模块 Pyth ...
- maxscrip_import_csv_构建对象
3DMAX通过脚本文件批量操作相当有效率,国内关于maxscript的资料比较少,知识点比较零散,逐步进行补充. 导入文件: filepath = "... Data\\01_us.csv& ...
- TensorFlow中的语义分割套件
TensorFlow中的语义分割套件 描述 该存储库用作语义细分套件.目标是轻松实现,训练和测试新的语义细分模型!完成以下内容: 训练和测试方式 资料扩充 几种最先进的模型.轻松随插即用 能够使用任何 ...