Service Fabric/Jenkins集成问题

use*_*601 6 powershell cmdlet jenkins azure-service-fabric

我正在尝试使用Jenkins和ServiceFabric PowerShell扩展自动部署到Azure Service Fabric.由于缺乏对部署过程的控制和灵活性,Jenkins ServiceFabric插件在我的案例中不是一个好选择.我遇到了以下问题 - Jenkins无法识别SF PowerShell cmdlet

Connect-ServiceFabricCluster:术语"Connect-ServiceFabricCluster"未被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试

ServiceFabric设置是正确的,因为当我从PowerShell本地运行脚本时,tt就像一个魅力.所以,我试图在本地运行Jenkins,而不是像在互联网上的不同帖子中所建议的服务模式,但这还没有解决问题.

我试过的其他事情:

  • 运行自我提升的脚本到admin
  • 运行x86/x64 PowerShell模式
  • 通过从cmd runner调用PowerShell exe而不是
    powershell插件来运行脚本
  • 强迫"不受限制"的模式
  • 脚本名称前的双点

我仍然收到相同的结果.

所以,我尝试使用ServiceFabric Python Cli作为替代方案,但面临另一个问题 - 它在带有证书的"sfctl cluster select"上返回"Bad SSL handshake",它在本地与PS ServiceFabric cmdlet一起使用

有任何想法吗?

Von*_*onC 3

Azure/service-fabric-issues这与问题 491类似,该问题涉及Azure Service Fabric SDK和 Service Fabric 运行时之间的不匹配。

例如:

2.7 SDK 将在版本 6.0 集群上运行,但该任务将无法与代理上安装的 2.8 SDK 一起运行。

加:

Service Fabric PowerShell cmdlet 需要 PowerShell 3.0 或更高版本。

Service Fabric 使用 Windows PowerShell 脚本创建本地开发群集并从 Visual Studio 部署应用程序。默认情况下,Windows 会阻止这些脚本运行。
要启用它们,您必须修改 PowerShell 执行策略。以管理员身份打开 PowerShell 并输入以下命令:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Scope CurrentUser
Run Code Online (Sandbox Code Playgroud)

因此:如果该脚本在本地运行,但不是通过 Jenkins 代理上的 Jenkins 作业运行,请查找本地执行环境(运行的环境)和 Jenkins 环境(失败的环境)之间的差异
用户可能不相同和/或运行时版本可能与 SDK 版本不兼容。