微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jenkins: 执行 PowerShell 命令

默认是不支持执行 PowerShell 命令的,需要安装插件才能完成这样的任务。本文将介绍 Jenkins PoserShell 插件的基本用法和常见问题。

插件

Plugin Manager 界面中选择 "Available" 标签页,输入 "powershell" 进行过滤:

添加 PowerShell 类型的 build step 了:

一个简单的任务:检查 agent 的操作系统版本和 PowerShell 版本。一个 Freestyle 类型的 job,然后添加一个 "Windows PowerShell" 类型的 build step,并添加下面的 PowerShell 命令:

Write--Host stem.Environment]::sversion.Version Write--Host

一个 PowerShell 脚本文件中,然后在 agent 上调用 powershell.exe 执行这个脚本。第二个和第三个红框中则是输出的系统版本和 PowerShell 版本信息。

包括一些命令执行失败的情况)!

默认情况下之所以 build step 不会失败,是因为 PowerShell 执行的过程中没有执行 exit 调用!这就导致 Jenkins 无法判断执行的命令是否成功退出认就认为都是成功的啦。所以要完善这里的逻辑就要求我们一定要在脚本中实现自己的 exit 逻辑:判断脚本执行成功时调用 exit 0;判断脚本执行失败时调用 exit 1(当然你可以根据自己的需要返回其他整数)。添加 exit 1,保存后执行

支持了这个功能。创建一个 pipeline 类型的 job,输入下面的代码

node { powershell 'Write-Output "Hello,world!";' }

功能还不完美:

输出的日志总带有一点乱码,具体原因不明。猜测是 pipeline 功能对 PowerShell 插件支持还有小问题。

支持。期待 Jenkins 逐步的完善还存在的一些小问题,毕竟 MS 已经开始用 PowerShell 取代 bat 了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐