1

PowerShell にスクリプトがあります。PowerShell ステップを介して Jenkins から実行されています。Jenkins がなくても、すべて正常に動作します。しかし、Jenkins でビルドすると、何も得られませんでした...エラーも何もありませんでした。どうしたの?Jenkins は PowerShell ワークフローを使用できませんか?

簡単な例:

workflow config {
    Param([string[]]$servers, $MaxEnvSize, $MaxMemPerShell)

    $servers = $servers.Trim()

    foreach -parallel -throttlelimit 50 ($server in $servers) {
        if (Test-Connection -ComputerName $server -Quiet -Count 1) {
            inlinescript {
                try {
                    Invoke-Command -ComputerName $using:server -ea Stop  -ScriptBlock {
                        Param($MaxEnvSize, $MaxMemPerShell)

                        Set-Item WSMan:\localhost\MaxEnvelopeSizekb -EA Stop -Value $MaxEnvSize
                        Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB -EA Stop $MaxMemPerShell
                        Set-Item WSMan:\localhost\Plugin\Microsoft.PowerShell\Quotas\MaxMemoryPerShellMB -EA Stop $MaxMemPerShell
                        #Restart-Service winrm
                    } -ArgumentList $using:MaxEnvSize , $using:MaxMemPerShell
                } catch {
                    "$using:server : $Error[0].Exception"
                }
            }
        } else {
            Write-Output "$server no ping"
        }
    }
}

config -Servers $env:servers -MaxEnvSize 16454  -MaxMemPerShell 5192
4

1 に答える 1