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的流水线完成了镜像推送到镜像仓库中去,本篇文章我们继续开始完成下一步,通过流水线把镜像从仓库拉取到任意一台公网的服务器上去, 完成镜像部署的闭环. 首先我们需要先准备一 ...
随机推荐
- 【mq】从零开始实现 mq-07-负载均衡 load balance
前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 [mq]从零 ...
- UDP协议,多道技术,进程,同步与异步,阻塞与非阻塞
UDP协议 简介 UDP叫做用户数据报协议,是OSI七层参考模型中传输层使用的协议,他提供的是不可靠传输,既它在传输过程 中不保证数据的完整性! 端口号 UDP使用IP地址和端口号进行标识,以此将数据 ...
- C#/VB.NET 创建图片超链接
超链接(Hyperlink)可以看做是一个"热点",它可以从当前Web页定义的位置跳转到其他位置,包括当前页的某个位置.Internet.本地硬盘或局域网上的其他文件,甚至跳转到声 ...
- 169. Majority Element - LeetCode
Question 169. Majority Element Solution 思路:构造一个map存储每个数字出现的次数,然后遍历map返回出现次数大于数组一半的数字. 还有一种思路是:对这个数组排 ...
- Django对接支付宝Alipay支付接口
最新博客更新见我的个人主页: https://xzajyjs.cn 我们在使用Django构建网站时常需要对接第三方支付平台的支付接口,这里就以支付宝为例(其他平台大同小异),使用支付宝开放平台的沙箱 ...
- Pycharm连接远程服务器并保持文件夹同步
pycharm版本2021 服务器版本 Ubuntu 18 1.连接远程服务器 xxx这部省略了,因为之前就已经连接上了hh,后面用到再补充. 2.保持文件夹同步 1.首先在本地(windows环境创 ...
- Flink整合面向用户的数据流SDKs/API(Flink关于弃用Dataset API的论述)
动机 Flink提供了三种主要的sdk/API来编写程序:Table API/SQL.DataStream API和DataSet API.我们认为这个API太多了,建议弃用DataSet API,而 ...
- Kubernetes client-go Informer 源码分析
概述ControllerController 的初始化Controller 的启动processLoopHandleDeltas()SharedIndexInformersharedIndexerIn ...
- 定制.NET 6.0的依赖注入
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 在本章中,我们将学习ASP.NET Core的依赖项注入(DI)以及如何自定义它. ...
- 浏览器代理user-agent
两种方法: 法1:浏览器地址栏输入:about://version,然后复制用户代理: 如果法1不行,法2肯定可以. 法2:打开任意浏览器,输入任意网址,下面以火狐和百度网址为例来进行说明: 打开火狐 ...