问题标签 [psake]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2388 浏览

powershell - 复制项目不起作用

我有一个脚本,它正在查找一些文件并复制它们。这是 psake 构建脚本的一部分。

命令是:

当我执行此操作时,我会收到以下消息:

那肯定看起来像复制的文件。但他们不是。没有错误。如果我将此命令复制到 ISE 并设置变量,则复制​​没有问题。我试图手动复制一个带有显式路径的文件。同样,在脚本中它不会复制,但在 PS 控制台或 ISE 中它会复制。

我不知道可能是什么问题。我在 psake 脚本中使用了 Copy-Item。事实上,我将上面的代码复制到了以后的任务中,它可以工作了!在它不起作用的任务中,我正在调用 msbuild 来构建解决方案。

任何见解表示赞赏!

0 投票
3 回答
328 浏览

powershell - 如何持续集成 Powershell 脚本

我已经编写了一个脚本,它构建了一个开发团队将使用的各种 IIS 站点,理想情况下,当一个新的开发人员上线时,为了构建他们的 IIS,他们会检查我们的 get repo 然后运行脚本。从长远来看,此脚本还将在环境设置中执行各种其他任务。我现在需要做的是确保脚本持续集成,因此我如何设置测试环境以确保脚本在每次 git 提交后仍然有效。即步骤如下 - 进行新的提交 - 启动新的 VM - 在 VM 上执行脚本 - 断言脚本正确执行

0 投票
1 回答
360 浏览

powershell - 如果 psake 发生故障,如何运行 postaction?

在我们的 psake 脚本中,在编译之前,我们正在运行检查程序集文件。当编译任务成功完成时,程序集将被复制,然后签入任务将提交程序集。

这种方法的问题是,如果停止编译步骤,文件将保持检出。

如果编译任务失败,那么我想运行另一个任务来撤消签出文件。

在编译任务中,如果失败我可以运行 UndoCheckoutFiles 任务吗?

0 投票
0 回答
44 浏览

powershell - 禁止 TeamCity 报告构建步骤顺序

关于TeamCity buildlog 涵盖的单个构建步骤的类似主题,我可以将 powershell 输出格式化为 TeamCity 日志中的可折叠树视图吗?我们有很大的构建管道,由PSake它驱动,有大量的任务。每个任务都通过使用格式化

但是虽然此任务仍由TeamCity构建步骤包装,但它将所有日志放入带有标签的可折叠段落中Step 1/1: Run build (Command Line) (time elaped),因此它会在构建日志中的每一行前面加上前缀,[Step 1/1]这会对格式化产生不良后果。

有没有办法禁止TeamCity这种行为?

0 投票
0 回答
331 浏览

visual-studio - Visual Studio项目模板中powershell脚本的模板参数?

我有一个项目模板,其中包含一个名为 BuildStandard.ps1 的 powershell 脚本。该脚本内部是以下摘录:

当使用模板添加新项目时,我希望将 $SpecificSolutionName$ 参数替换为解决方案名称。唯一的问题是 .vstemplate 文件中的内容没有剪切它:

我错过了什么?

编辑: 我已经验证,如果我替换$SpecificSolutionName$$safeprojectname$,参数将被替换。我开始怀疑是否$SpecificSolutionName$仅适用于解决方案级模板。有解决方法吗?

0 投票
0 回答
295 浏览

psake - 详细首选项不起作用

我想$VerbosePreference在我的构建脚本中使用 Verbose 首选项 ( )。我正在使用Chocolatey版本的 psake(所以调用批处理文件),我根本无法让它正常工作。

-Verbose开关根本不起作用。我最终添加了一个属性并将其传入。它被传入,然后$VerbosePreference如果它是真的,我将其设置为“继续”,否则设置为“静默继续”。我创建了一个函数来做到这一点。在那个函数中,如果我调用Write-Verbose,它会起作用。但是在任务中,它没有。如果我$VerbosePreference在任务中设置,它不起作用。基本上,我不能Write-Verbose在任务中使用。我在这里缺少什么概念?完全糊涂了……

0 投票
0 回答
390 浏览

powershell - 在 psake 脚本中调用特定版本的 MSBuild

我正在尝试通过MSBuild.exe. 我之前遇到过错误,但是多亏了这个答案,我知道问题出在哪里。

我使用了错误的版本MSBuild.exe

既然我知道我应该使用什么版本,我的psake脚本将无法工作,我不确定如何定位MSBuild.exe位于此处的

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe

我的 psakeCompile任务现在看起来像这样,但 VS 在第 7 行告诉我语法错误。

当我有以下内容时,VS 2017 不会抱怨语法,但是WebApplication.targets在运行构建脚本时出现错误,这一定是因为使用了错误的 MSBuild 版本。

0 投票
1 回答
2440 浏览

jenkins - 无法使用 Jenkins 从 Powershell 脚本导入模块

我正在尝试使用 Psake 在 Jenkins 服务器上构建我的 Asp.Net MVC 解决方案。我将 Powershell 脚本和 Psake 脚本签入到源代码中。我创建了一个导入和调用 Psake 的引导程序文件 build.ps1。

导入模块 .\Psake.4.5.0\psake.psm1

我所有的任务都在我试图调用的 default.ps1 文件中定义。当我在本地运行脚本时,Psake 模块被导入并且一切正常。但是在 Jenkins 服务器上,我收到以下错误:

我是 Jenkins 的新手,之前使用过 Team City,并且我仔细检查了 Psake 模块确实被复制到了 Jenkins 工作区。

这就是我从 Jenkins 调用 Build.ps1 的方式

Powershell.exe -noprofile -executionpolicy 绕过 -file .\Build\Build.ps1

有人可以指出我做错了什么吗?

0 投票
0 回答
48 浏览

webpack - psake 脚本中的 webpack 命令失败

在我的 psake 任务中,以下命令:

使用这个 npm 脚本:

给出以下错误并使我的脚本失败:

这不是错误或失败,所以我不确定它为什么会导致构建失败。

当我将 npm run 命令调整为以下(不再使用 psake 的 exec)时:

我收到相同的错误消息,但它没有上Write-Host线。当我尝试以下操作时:

我收到此错误(再次没有退出代码)“

当我npm run prod-build直接在控制台中运行命令时,它按预期工作。似乎有 psake 的东西正在把它扔掉。

0 投票
1 回答
78 浏览

devops - 在命令行脚本上停止 nolio 部署失败

我试图搜索这个,但我什么都做不了。我有一个 Nolio 流程,它有一个命令行操作,可以使用 psake 部署解决方案。命令行是这样运行的:

但是如果脚本 deploy.ps1 失败,nolio 部署就会挂起,需要手动停止。

当脚本失败时,有没有办法让部署自动停止?