Azure Devops(十四) 使用Azure的私有Nuget仓库
哈喽大家好,最近因为工作的原因没有时间写文章,断更了俩月,今天我们开始继续研究Azure上的功能。
今天我们开始研究一下Azure的制品仓库,在之前的流水线的相关文章中,我们都使用到了制品仓库用来保存我们临时的编译结果,从而为流水线的下一步做准备。
除了这种临时的制品仓库之外,Azure同时也给我们提供了MAVEN,NUGET,NPM等的制品仓库,今天我们来尝试一下创建一个c#的类库,然后把他上传到NUGET中去。
首先我们打开Azure找到制品项目。
然后我们选择nuget,就可以看到下图中的界面,可以看到azure为我们提供了多种的nuget上传方式,但是第二三种需要依赖windows和vs,为了更好的跨平台,所以我们这里使用.NET Core 的CLI来干这个事儿。

如果要使用CLI的话首先,我们需要先去安装一下命令行的工具,点击界面中的《GET THE TOOLS》就会跳转到对应的下载地址

点击后会跳转到GITHUB,然后我们往下翻就可以看到自动安装的脚本,我们按照步骤去执行自动化的安装脚本即可,不过这里需要注意的是,这个脚本下载可能会被墙,所以大家下载的时候需要注意。我把自动化的脚本代码放在下面,懒得翻的同学可以直接复制运行。
//windows
iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) }"
//MAC OR LINUX
wget -qO- https://aka.ms/install-artifacts-credprovider.sh | bash
sh -c "$(curl -fsSL https://aka.ms/install-artifacts-credprovider.sh)"
安装完成后,首先我们先创建一个类库项目,我这里为了降低平台依赖性,所以全程是用的CLI
执行 dotnet new classlib 创建一个.NET Core的类库项目。
然后,我们创建一个Common.cs的类型,在里面打一些伪代码。

打完伪代码之后,我们在文件夹中,按照azure的要求创建一个nuget.config文件夹,把azure中的配置项复制进去。
这里一定要注意,nuget.config问价的位置要和我们的工程文件保持在一个目录下,或者跟我们解决方案文件保持在一个目录下。

像这样,把我们在我们的工程文件csproj的同级目录下创建文件然后把配置项粘贴进去。

接下来,我们需要执行pack命令,对现有的代码进行打包,如果你的类库引入了其他三方依赖,需要先执行restore,对所有依赖先进行还原。
首先执行还原命令:dotnet restore --interactive
然后执行打包命令:dotnet pack

这里可以看到,生成了一个后缀为nupkg的文件,这个就是nuget的打包文件了,我们要使用的就是这个。
然后我们执行nuget的上传命令。
dotnet nuget push --source "你的项目名" --api-key az --interactive ./bin/Debug/azure_nuget.1.0.0.nupkg
执行命令后,控制台里会给你弹出一个网址,你要去手动打开这个网址,在网址里输出控制台中输出的秘钥完成身份验证。

完成了身份验证之后,我们的包就会推送到nuget上去了。

然后我们去azure上刷新一下页面,就可以看到我们刚才上传的包了。

Azure Devops(十四) 使用Azure的私有Nuget仓库的更多相关文章
- Azure Devops(十五) 使用Azure的私有Maven仓库
上一篇文章中,我们介绍了如何使用Azure的nuget仓库,今天我们来研究一下如何使用azure给我们提供的maven仓库. 首先,我们打开azureDevops,点击到制品界面,然后选择maven. ...
- Azure DevOps (十二) 通过Azure Devops部署一个SpringBoot应用
文章配套视频专栏: https://space.bilibili.com/38649342/channel/seriesdetail?sid=2267536 视频正在努力更新. 上一篇文章中,我们通过 ...
- 使用Nexus搭建私有Nuget仓库
前言 Nuget是ASP .NET Gallery的一员,是免费.开源的包管理工具,专注于在.Net / .Net Core应用开发过程中第三方组件库的管理,相对于传统单纯的dll引用要方便.科学得多 ...
- Docker - 使用 Nexus3 搭设私有 NuGet 仓库
目录 前言 NuGet Nexus 私有仓库 说明 安装 Nexus 拉取 Nexus 镜像 运行 Nexus Nexus NuGet 仓库简单使用 Nexus 默认帐号 Repositories 上 ...
- 搭建私有Nuget仓库
使用Nexus搭建私有Nuget仓库 https://www.cnblogs.com/Erik_Xu/p/9211471.html 前言 Nuget是ASP .NET Gallery的一员,是免费.开 ...
- Azure DevOps 跨账号连接 Azure 服务
一,引言 由于新申请的 Azure DevOps 账号中的私有项目不在享受托管代理提供的1800分钟的免费时间,又不想花钱付费,那我们只能另想版本解决没有并行作业的问题. -------------- ...
- Azure DevOps (五) 推送流水线制品到流水线仓库
上一篇我们成功创建了我们的第一条流水线,并且配置了阿里云的maven加速,这篇文章我们来研究一下如何把编译好的代码上传到azure的流水线制品仓库中 为后续我们进行发布做准备 首先打开我们上一次编辑的 ...
- 十分钟搭建自己的私有NuGet服务器-BaGet
目录 前言 开始 搭建BaGet 上传程序包 在vs中使用 其他 最后 前言 NuGet是用于微软.NET(包括 .NET Core)开发平台的软件包管理器.NuGet能够令你在项目中添加.移除和更新 ...
- Azure DevOps (十) 通过流水线完成Docker镜像的部署
上一篇文章中,我们通过azure的流水线完成了镜像推送到镜像仓库中去,本篇文章我们继续开始完成下一步,通过流水线把镜像从仓库拉取到任意一台公网的服务器上去, 完成镜像部署的闭环. 首先我们需要先准备一 ...
随机推荐
- Spring 源码(9)Spring Bean的创建过程的前期准备
回顾总结 到目前为止,Spring源码中AbstractApplicationContext#refresh方法的已经解读到第11个方法finishBeanFactoryInitialization, ...
- 923. 3Sum With Multiplicity - LeetCode
Question 923. 3Sum With Multiplicity Solution 题目大意: 给一个int数组A和一个目标值target,求满足下面两个条件的组合个数,其中i,j,k分别为数 ...
- Java获取特定区间随机数及产生不重复随机数
问题 有这样一种需求,在这样一个数组中String[] arr = new String[]{"电商", "互联网", "小程序", &qu ...
- 安装PostgreSQL到CentOS(YUM)
运行环境 系统版本:CentOS Linux release 7.6.1810 (Core) 软件版本:postgresql-12 硬件要求:无 安装过程 1.安装YUM-PostgreSQL存储库 ...
- 关于『进击的Markdown』:第三弹
关于『进击的Markdown』:第三弹 建议缩放90%食用 我与神明画押,赌这弹markdown又双叒叕拖稿了 %%%Markdown!我的CSDN编辑器崩了呜呜呜 各路英雄豪杰,大家好! 我们要开 ...
- Pycharm连接远程服务器并保持文件夹同步
pycharm版本2021 服务器版本 Ubuntu 18 1.连接远程服务器 xxx这部省略了,因为之前就已经连接上了hh,后面用到再补充. 2.保持文件夹同步 1.首先在本地(windows环境创 ...
- 低代码前景可期,JNPF灵活易用,用智能定义新型办公模式
JNPF是引迈信息从事多年软件研发和产品服务的一次时代性的技术革新产物,是集SaaS服务.工作流引擎.一站式低代码开发.支持多端使用于一体的快速开发平台. 强大易用 JNPF将 Excel. Acce ...
- 异常——JavaSE基础
异常 异常的分类 检查性异常 运行时异常:可能被程序员避免的异常,运行时异常可以在编译时被忽略 错误ERROR:错误不是异常 在Java中把异常当作对象来处理,并且定义了一个基类java.lang.T ...
- 运筹学笔记12 大M法
引入M,其中M是一个充分大的正数.由此,目标函数也改变为zM. 如此构造的线性规划问题我们记作LPM,称之为辅助线性规划问题,也即在原来的线性规划问题的基础上,改造了其等式约束条件,然后有对目标函数施 ...
- swap函数模板
在许多应用程序中,都有交换相同类型的两个变量内容的需要.例如,在对整数数组进行排序时,将需要一个函数来交换两个变量的值,如下所示: void swap(int &a, int &b) ...