azure - 当 azure devops 安装模块时,无法安装模块 Azsk CI/CD 管道

标签 azure azure-devops

我有Azsk在我的 azure devops 管道中实现。在一切正常运行并且我可以正常运行管道之前。我没有改变任何东西,但它给了我这个错误 atm

2018-12-14T10:41:12.7861566Z Installing Module AzSK...
2018-12-14T10:41:58.9483761Z ##[error]Cannot process argument transformation on parameter 'InstalledModuleInfo'. Cannot convert the "System.Object[]" value of type "System.Object[]" to type "System.Management.Automation.PSModuleInfo".
2018-12-14T10:41:58.9850394Z ##[section]Finishing: AzSK_SVTs 

Google 让我找到了这个:https://github.com/Azure/azure-cli/issues/2357 但这将更新我本地计算机上的模块,而问题是在我的管道(azure devops 正在运行的某种容器)中安装模块。

有人最近遇到过这个问题或者知道如何解决这个问题吗?

最佳答案

来自official Azsk GitHub:

错误消息:“PackageManagement\Install-Package:无法处理参数“InstalledModuleInfo”的参数转换...”

如果您已在计算机中使用 Azure SDK 安装了 AzureRM PowerShell,它通常会安装在 Program Files 中。您可以运行以下命令来确认

Get-Module -Name AzureRM* -ListAvailable 

如果是这种情况,则需要从程序文件中完全删除通过 Azure SDK 安装的 Azure PowerShell 模块。如果需要,您也可以进行备份。 AzSK 还需要 AzureRM 模块。但它会从 PSGallery 下载,而不是从 Azure SDK 下载。从 PS Gallery 下载 AzureRM 模块会与通过 Azure SDK 安装的 AzureRM 模块发生冲突。清理后,如果再次运行以下命令,它会默认将 AzureRM 版本 5.2.0 提取到当前用户范围而不是程序文件中。

Install-Module AzSK -Scope CurrentUser -AllowClobber 

如果您仍然需要使用 AzureRm 的其他版本(已删除),您可以使用以下命令从 PS Gallery 安装它:

Install-Module AzureRM -Scope CurrentUser -AllowClobber -RequiredVersion <versionNumber e.g. “3.8.0” >

注意:如果您的 PS 版本中没有“-AllowClobber”选项,请将其替换为“-Force”

如果您碰巧有多个版本的 AzureRM,则取决于 PS session 中首先加载的模块版本。在这种情况下,为避免混淆,请关闭安装程序 PS session ,并在新的 PS session 中首先运行以下命令:

Import-Module AzSK

然后您可以运行一个或多个 AzSK 命令或其他 AzureRm 命令。 “导入模块”确保将正确版本的 AzureRM 加载到当前 session 中。

因此,如果您是托管代理,请尝试在 Azsk 任务之前添加 PowerShell 任务并运行上面的命令。

关于azure - 当 azure devops 安装模块时,无法安装模块 Azsk CI/CD 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53778162/

相关文章:

python - 如何为容器 "use".env变量创建Azure应用服务?

nuget - 如何仅使用 CLI 在 NuGet 包中包含标签

c# - 如何从 Azure 移动服务返回异常

azure - 在 SAP HANA Azure VM 备份中找不到 SYSTEM_KEY_NAME

python - HTTP POST Azure 中的授权 header [错误代码 401]

Azure 应用服务高级版 - 保护内部服务

azure - 取消构建时执行任务 - Azure DevOps Pipelines

bash - 在 VSTS 上的 bash 脚本中使用变量组中的变量

azure - 找不到具有指定模式 : d:\a\r1\a\**\*. zip 的包<br/>检查任务中提到的包是否作为工件发布

azure - 将 Cosmos DB(作为服务端点)作为后端服务器与应用程序网关连接