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的流水线完成了镜像推送到镜像仓库中去,本篇文章我们继续开始完成下一步,通过流水线把镜像从仓库拉取到任意一台公网的服务器上去, 完成镜像部署的闭环. 首先我们需要先准备一 ...
随机推荐
- 小数据池,is和==的区别,id()
小数据池 概念 存放数据缓存的地方 目的 节省内存,提高效率 什么数据会被缓存(什么数据会放在小数据池中) 数字 字符串 布尔 优点: 可以帮我们快速的创建对象.节省内存. 缺点: ...
- python二分法、牛顿法求根
二分法求根 思路:对于一个连续函数,左值f(a)*右值f(b)如果<0,那么在这个区间内[a,b]必存在一个c使得f(c)=0 那么思路便是取中间点,分成两段区间,然后对这两段区间分别再比较,跳 ...
- 羽夏 Bash 简明教程(上)
写在前面 该文章根据 the unix workbench 中的 Bash Programming 进行汉化处理并作出自己的整理,并参考 Bash 脚本教程 和 BashPitfalls 相关内容 ...
- 项目中导入本地jar包问题
1. 问题 一个Maven项目,需要依赖一个本地jar包,以如下方式引用: <dependency> <groupId>xxx.sdk</groupId> < ...
- 基于Kubernetes v1.24.0的集群搭建(三)
1 使用kubeadm部署Kubernetes 如无特殊说明,以下操作可以在所有节点上进行. 1.1 首先我们需要配置一下阿里源 cat <<EOF > /etc/yum.repos ...
- alertmanager集群莫名发送resolve消息的问题探究
alertmanager集群莫名发送resolve消息的问题探究 术语 告警消息:指一条告警 告警恢复消息:指一条告警恢复 告警信息:指告警相关的内容,包括告警消息和告警恢复消息 问题描述 最近遇到了 ...
- 关于使用 koa路由与mysql模块, ctx.body获取不到值的问题
var Koa = require('koa');var Router = require('koa-router' );var bodyParser = require('koa-bodyparse ...
- tomcat JDK环境变量配置及tomcat多项目的配置
1.解压JDK tar xzf jdk-8u171-linux-i586.tar.gz -C /usr/local -->mv /usr/local/jdk1.8.0_171 /usr/loca ...
- UiPath选择器之页面选择器的介绍和使用
一.页面选择器的介绍 某些软件程序的布局和属性节点具有易变的值,例如某些Web应用程序.UiPath Studio无法预测这些变化,因此,您可能必须手动生成一些选择器. 每个属性都有一个分配的值.选择 ...
- 毕设之Python爬取天气数据及可视化分析
写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...