小编use*_*557的帖子

如何让Hudson CI执行Powershell脚本?

我正在使用Hudson版本1.324进行CI并遇到一些问题:

环境:

  • Windows Server 2008
  • Powershell v1.0
  • Hudson 1.324作为服务运行
  • 安装了Hudson Powershell插件
  • Psake(又名."Powershell Make/Rake"可从Github获得)0.23(截至此初始帖子的所有当前/最新版本)

我有一个Powershell(PS)脚本,用于编译,运行NUnit测试,如果成功,则创建输出的7z文件.PS脚本在我的本地开发盒以及安装了Hudson的CI服务器上从命令行运行.

1)Powershell的执行政策.

我最初在服务器上运行了一个PS控制台,运行Set-ExecutionPolicy Unrestricted,它允许运行任何脚本.(是的,我在这里意识到了安全问题,我正在努力使某些工作得到解决,而Unrestricted应该删除安全问题,以便我可以专注于其他问题.)

[这很有用,并允许我昨天从Hudson发射PS构建脚本.然后我遇到了另一个问题,但我们将在第2项中讨论更多问题.

一旦Hudson可以启动PS脚本,它就会抱怨以下错误:

"C:\ Windows\system32\WindowsPowerShell\v1.0\powershell"&'OzSystems.Tools\psake\psake.ps1''.\ oz-build.ps1'"术语'OzSystems.Tools\psake\psake.ps1 '不被识别为cmdlet,功能,可操作程序或脚本文件.验证该术语并重试.在行:1 char:2 +&<<<<'OzSystems.Tools\psake\psake.ps1'' \盎司,build.ps1' "

使用相同的命令行,我可以手动从命令行成功执行PS脚本.但是Hudson无法让PS做同样的事情.在查看其他PS文档后,我也尝试了这个:

"& 'OzSystems.Tools\psake\psake.ps1' '.\oz-build.ps1'"
Run Code Online (Sandbox Code Playgroud)

并得到了类似的错误.似乎没有任何关于Hudson的Powershell插件的文档.我已经浏览了所有的Powershell插件文件,看不到任何可配置的内容.我找不到Hudson的日志文件来获取更多信息.

可以有人帮我过去吗?

2)我昨天和#1一起摔跤.在重新启动Hudson服务器/服务之后,我进入了上午并尝试再次挖掘,现在看来ExecutionPolicy已重置为Restricted.我昨天做了什么工作,开了一个PS控制台和Set-ExecutionPolicyUnrestricted.它显示Unrestricted在PS控制台中,但Hudson说它没有执行PS脚本的权限.我重新打开了一个新的PS控制台并确认它ExecutionPolicy仍然是Unrestriced- 它是.但是哈德森显然不知道这种变化.再次重新启动Hudson服务不会改变Hudson对策略的看法.

有谁知道这里发生了什么?

谢谢,德里克

powershell policy hudson execution

8
推荐指数
2
解决办法
4454
查看次数

标签 统计

execution ×1

hudson ×1

policy ×1

powershell ×1