一、背景

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的更多相关文章

  1. 流程自动化RPA,Power Automate Desktop系列 - 不讲武德的Windows10内置应用

    简介 Power Automate Desktop 扩展Power Automate中的现有机器人流程自动化(RPA)功能,并使您能够自动化所有重复的桌面流程. 使用预生成的拖放操作或记录您自己的桌面 ...

  2. 流程自动化RPA,Power Automate Desktop系列 - 创建WPF程序安装包及升级包

    一.背景 之前写过的几个WPF小工具,每次发布都需要给它打安装包和升级包,涉及到一些系列繁琐的手工操作,有了Power Automate Desktop,于是便寻思着能不能做成一个自动化的流来使用. ...

  3. 流程自动化RPA,Power Automate Desktop系列 - 批量备份Git仓库做好灾备

    一.背景 打个比如,你在Github上的代码库需要批量的定时备案到本地的Gitlab上,以便Github不能访问时,可以继续编写,这时候我们可以基于Power Automate Desktop来实现一 ...

  4. 流程自动化RPA,Power Automate Desktop系列 - 发布文档中心

    一.背景 内网中有一个基于VuePress搭建的静态文档中心,但是每次修改后都需要重新Build一次才行,之前都是手动执行命令,现在可以基于Power Automate Desktop来创建任务了. ...

  5. 流程自动化RPA,Power Automate Desktop系列 - 构建VuePress文档中心脚手架

    一.背景 笔者曾基于VuePress搭建过一个文档中心,但是在实现在线管理功能之前,很多时候,新建文档需要手动处理很多数据,看有没有可能实现一个脚手架来处理这些问题,所谓脚手架,就是进行文档初始化的一 ...

  6. dotnet core 通过 frp 发布自己的网站

    很多时候写出来的网站只能自己内网访问,本文告诉大家如何通过 Frp 将自己的 asp dotnet core 网站发布到外网,让小伙伴访问自己的网站 通过 frp 的方式,可以解决自己的服务器性能太差 ...

  7. dotnet core 跨平台编译发布

    vs2017 建立的项目,在项目目录 ,执行 dotnet publish -r ubuntu.15.04-x64 dotnet publish -r linux-x64 dotnet publish ...

  8. dotnet core瘦身发布

    需要安装nuget包Microsoft.Packaging.Tools.Trimming然后利用如下命令发布dotnet publish -r win10-x64 -c release --self- ...

  9. 使用 dotnet CLI 来打包和发布 .NET Core nuget package

    原文链接:使用 dotnet CLI 来打包和发布 .NET Core nuget package 如何使用 visual studio 2015/2017 打包和发布 Nuget package, ...

随机推荐

  1. [Python] Python工匠(Github)

    1.善用变量来改变代码质量 变量命名 变量要有描述性,不能太宽泛 BAD:day, host, cards, temp GOOD:day_of_week, hosts_to_reboot, expir ...

  2. QT发布 - 动态编译,删减以来dll

    经常看到网上有些论调说 Qt 程序无比庞大,甚至拿 .NET 程序来比,说 Qt 程序打包以后跟 .NET 安装包差不多大.由此影响了很多人对 Qt 的选择.我觉得有必要对此做一些澄清-- 显然这个说 ...

  3. Spark 集群安装部署

    安装准备 Spark 集群和 Hadoop 类似,也是采用主从架构,Spark 中的主服务器进程就叫 Master(standalone 模式),从服务器进程叫 Worker Spark 集群规划如下 ...

  4. windows怎么访问linux的samba共享目录

    windows怎么访问linux的samba共享目录 听语音 原创 | 浏览:6976 | 更新:2018-07-31 13:20 | 标签:LINUX WINDOWS 1 2 3 4 5 6 7 分 ...

  5. 一、MegaCli命令介绍

    一.MegaCli命令介绍 MegaCli是一款管理维护硬件RAID软件,可以用来查看raid信息等MegaCli 的Media Error Count: 0 Other Error Count: 0 ...

  6. 10.4 route:显示或管理路由表

    route命令 可以显示或管理Linux系统的路由表,route命令设置的路由主要是静态路由. 路由的概念     计算机与计算机之间的数据传输必须得经由网络,而网络可以通过直接连接两台计算机的方式或 ...

  7. android设置时钟

    <TextClock        android:id="@+id/timeText"        android:layout_width="match_pa ...

  8. 从马尔可夫模型(Markov Model)到隐马尔可夫模型(Hidden Markov Model)

    1.参考资料: 博客园 - 刘建平随笔:https://www.cnblogs.com/pinard/p/6945257.html 哔站up主 - 白手起家的百万富翁:https://www.bili ...

  9. .NET Core HttpClient请求异常详细情况分析

    前言 最近项目上每天间断性捕获到HttpClient请求异常,感觉有点奇怪,于是乎观察了两三天,通过日志以及对接方沟通确认等等,查看对应版本源码,尝试添加部分配置发布后,观察十几小时暂无异常情况出现, ...

  10. nologin用户执行命令

    使用su su -s 是指定shell,这里www用户是nologin用户,是没有默认的shell的,这里指定使用/bin/bash, -c 后面接需要运行的命令, 后面www是用www用户来运行 s ...