Azure Devops(十四) 使用Azure的私有Nuget仓库

哈喽大家好,最近因为工作的原因没有时间写文章,断更了俩月,今天我们开始继续研究Azure上的功能。

今天我们开始研究一下Azure的制品仓库,在之前的流水线的相关文章中,我们都使用到了制品仓库用来保存我们临时的编译结果,从而为流水线的下一步做准备。

除了这种临时的制品仓库之外,Azure同时也给我们提供了MAVEN,NUGET,NPM等的制品仓库,今天我们来尝试一下创建一个c#的类库,然后把他上传到NUGET中去。

首先我们打开Azure找到制品项目。

然后我们选择nuget,就可以看到下图中的界面,可以看到azure为我们提供了多种的nuget上传方式,但是第二三种需要依赖windows和vs,为了更好的跨平台,所以我们这里使用.NET Core 的CLI来干这个事儿。

Azure Devops(十四) 使用Azure的私有Nuget仓库

 

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

Azure Devops(十四) 使用Azure的私有Nuget仓库

 

点击后会跳转到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 Devops(十四) 使用Azure的私有Nuget仓库

 

打完伪代码之后,我们在文件夹中,按照azure的要求创建一个nuget.config文件夹,把azure中的配置项复制进去。

这里一定要注意,nuget.config问价的位置要和我们的工程文件保持在一个目录下,或者跟我们解决方案文件保持在一个目录下。

Azure Devops(十四) 使用Azure的私有Nuget仓库

 

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

Azure Devops(十四) 使用Azure的私有Nuget仓库

 

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

 首先执行还原命令:dotnet restore --interactive

然后执行打包命令:dotnet pack

Azure Devops(十四) 使用Azure的私有Nuget仓库

 

 这里可以看到,生成了一个后缀为nupkg的文件,这个就是nuget的打包文件了,我们要使用的就是这个。

然后我们执行nuget的上传命令。

dotnet nuget push --source "你的项目名" --api-key az  --interactive ./bin/Debug/azure_nuget.1.0.0.nupkg

执行命令后,控制台里会给你弹出一个网址,你要去手动打开这个网址,在网址里输出控制台中输出的秘钥完成身份验证。

Azure Devops(十四) 使用Azure的私有Nuget仓库

 

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

Azure Devops(十四) 使用Azure的私有Nuget仓库

 

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

Azure Devops(十四) 使用Azure的私有Nuget仓库

 

发表评论

相关文章