从命令行为 Jenkins 自动化安装包

Posted

技术标签:

【中文标题】从命令行为 Jenkins 自动化安装包【英文标题】:Installing packages from the command line for Jenkins automation 【发布时间】:2021-10-06 13:26:22 【问题描述】:

我必须对 VisualStudio c# Web 服务项目进行自动化测试。 为此,我必须使用 Jenkins 下载项目,对其进行编译、运行,然后在本地网页上运行自动化测试,以确保功能正常。 我的问题是,在尝试构建项目时,它不会恢复所需的所有 NuGet 包。 其中一些不在包装中。配置或项目中。该项目,其他人在网上。配置,但没有其他任何地方。 我尝试了 nuget.exe 和 dotNET,但这些不会下载所需的包 我尝试使用 dotNET 将包添加到项目中,但出现错误: "El proyecto no permite agregar referencias de paquete mediante el comando add package" 该项目不允许通过添加包命令进行包引用。 我尝试通过添加 XML 节点的脚本手动添加引用,通过该脚本我设法让 NuGet 恢复下载包,但这些包没有正确安装,我留下了 *.nupkg 文件,然后我必须解压缩。 现在我对这个问题束手无策,我需要帮助来解决这个问题。 如果我可以不打扰项目的开发人员,我会更喜欢,但我会做任何需要的事情。

【问题讨论】:

您使用的是基于.NET Core的项目?您是否还在“工具”>“选项”>“NuGet 包管理器”>“常规”>“包还原”中选择了 Allow NuGet to download missing packagesAutomatically check for missing packages during build in Visual Studio 选项?并尝试右键单击解决方案节点并选择Restore NuGet Packages 选项来恢复NuGet 包?另外,Install-Package "package name" 命令有效吗? @Tianyu 这是一个 ASP .Net Core 项目,我试过了,都没有。还原 NuGet 包它与命令 nuget restore 相同,它不会看到缺少包。 Install-Package 给我一个错误:“未找到指定搜索条件的匹配项”。西班牙语的完整错误: Install-Package : No se encontró ninguna 巧合 para el criterio de búsqueda especificado y el nombre de paquete 'ITextSharp'。 Prueba Get-PackageSource para ver todos los orígenes de paquete registrados disponibles。在线:1 字符:1 + Install-Package 'ITextSharp' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Microsoft .Power....InstallPackage:InstallPackage) [Install-Package], Ex ception + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage 看起来 NuGet 包的名称是错误的,我的意思是 ITextSharp == > iTextSharp。此外,似乎需要版本号。我在 nuget.org here 上搜索过,对于这个特定的包,如果可行,请尝试:Install-Package iTextSharp -Version 5.5.13.2 是的,我尝试了名称的多种变体,但总是遇到相同的错误。这次它返回了这个:Install-Package : No se encuentra ningún parametro que coincida con el nombre del parametro 'Version'。 En línea: 1 Carácter: 28 + Install-Package iTextSharp -Version 5.5.13.2 + ~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Install-Package], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell。 PackageManagement.Cmdlets.InstallPackage 【参考方案1】:

好吧,经过大量试验和错误后,我设法通过确保 packages.config、Project.csproj 和 Project.sln 文件与项目的工作版本完全相同来使项目正常工作。之后,我使用 nuget restore 下载软件包并使用 .bat 文件解压缩它们。它不漂亮,但它确实有效。

【讨论】:

以上是关于从命令行为 Jenkins 自动化安装包的主要内容,如果未能解决你的问题,请参考以下文章

jenkins 流水线自动化部署 手动下载安装插件包

jenkins自动构建需要安装哪些插件

Mac下Unity使用Jenkins自动化打包

自动化集成:Jenkins管理工具详解

jenkins实现jar包自动发布和回滚----jenkins安装

jenkins实现jar包自动发布和回滚----jenkins安装