一、背景

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. 5.配置IP

    静态IP配置 1.NAT模式设置 首先设置虚拟机中NAT模式的选项,打开VMware,点击"编辑"下的"虚拟网络编辑器",设置NAT参数 注意: VMware ...

  2. SecureCRT自动保存日志设置

    SecureCRT自动保存日志设置原创杭州_燕十三 最后发布于2017-03-26 22:00:08 阅读数 24731 收藏展开 嵌入式开发经常由于无法debug而只能使用串口打印日志的方式调试代码 ...

  3. Docker Swarm(二)常用命令

    # 管理配置文件 docker config     # 查看已创建配置文件     - docker config ls     # 将已有配置文件添加到docker配置文件中     - dock ...

  4. 克隆并编译otter

    源码编译: git clone 项目到本地,用IDEA打开,等待Maven下载完jar包,打开命令行,进入当前项目的lib目录 执行install.bat命令,该批处理文件会将缺失的jar包安装到你本 ...

  5. Linux 压缩包管理

    压缩打包 格式 压缩工具 .zip zip压缩工具 .gz gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) .bz2 bzip2压缩工具,只能压缩文件,会删除源文件(通常配合tar ...

  6. Linux服务之Samba服务篇

    Samba服务 桑巴Smb是基于cs架构 作用:用于跨平台进行文件共享 优点:兼容性好,较为安全(具备身份验证) 缺点:仅限内网环境使用 应用:一般在办公环境下使用 rz 也是一种可以在Windows ...

  7. HC-05底层驱动

    INT8U BT_INIT(const char * pNAME, INT32U BAUD, INT8U ROLE, INT32U PSWD) { INT8U OS_ERR = OS_ERR_NONE ...

  8. 10.2-3 ifup&ifdown:激活与禁用网络接口

    ifup:激活网络接口     ifup 和 ifdown 命令用于激活指定的网络接口.ifup命令其实是一个Shel脚本,有Shel基础的读者可以使用which命令来找到这个脚本并读一读.命令可读取 ...

  9. IT行业新闻事件

    台积电: http://www.eefocus.com/component/394512 新闻合集: https://mail.qq.com/cgi-bin/frame_html?sid=q3Mhqr ...

  10. centos下yum方法安装apache+php+mysql

    yum(全称为:Yellow dog Updater,Modified) 是一个在Fedora和RedHat以及SUSE中的Shell前端管理软件.基于RPM包管理,能够从远处镜像服务器下载RPM包并 ...