gpt4 book ai didi

powershell - PSAKE Powershell和执行任务未运行

转载 作者:行者123 更新时间:2023-12-03 00:24:42 25 4
gpt4 key购买 nike

试图使PSAKE脚本起作用。看来任务没有执行其中的功能?

我有2个文件

-- default.ps1 --
Import-Module "C:\dev\Phoenix\trunk\Build\BuildScripts\include.ps1"
Import-Module "C:\Software\PSAKE\JamesKovacs-psake-b0094de\psake.psm1"
Invoke-psake "C:\dev\Phoenix\trunk\Build\BuildScripts\build.ps1"
remove-module psake


-- build.ps1 --
$framework = '4.0'

properties {
$root_dir = 'c:\dev\Phoenix\trunk\'
$integration_deploy_dir = '\\Server025\Phoenix_IntegrationTests\'
$build_scripts_dir = '$root_dir\Build\BuildScripts'
$test_dir = Join-Path $root_dir '\Tests\Core.UnitTests\bin\Debug'
$dll = Join-Path $test_dir 'Phoenix.Core.UnitTests.dll'
}


task default -depends Test

task MsBuild { exec { msbuild /version }}

task Test -depends Deploy
{
Write-Host "Start task Test"
Add-PSSnapIn Gallio
Write-Host "TEST -- $dll"
Test-Gallio $test_dir Release x64 $dll "Core.UnitTests" ## FYI - call to include func
Write-Host "End task Test"
}

task Deploy
{
Write-Host "Start task deploy"
Write-Host "Deploying to integration server"
copy $root_dir"\Sites" $integration_deploy_dir -Recurse -Force
Write-Host "End task deploy"
}

目前,它似乎只是“打印”任务中列出的内容,而实际上没有做任何事情。我想念什么?谢谢

对不起忘了提我真的只是想让COPY方法首先起作用-THX

感谢您的帮助-Ive提出了所有建议,但仍然没有运气。

如果我将代码“内联”而不是放在PSAKE任务中,则代码可以正常运行。

我现在有这个
-- default.ps1
Import-Module C:\dev\Phoenix\trunk\Build\BuildScripts\include.ps1
Import-Module C:\Software\PSAKE\JamesKovacs-psake-b0094de\psake.psm1
Invoke-psake C:\dev\Phoenix\trunk\Build\BuildScripts\build.ps1
remove-module psake

-build.ps1
$ framework ='4.0'
properties {
$root_dir = 'c:\dev\Phoenix\trunk'
$sites_dir = 'c:\dev\Phoenix\trunk\sites'
$integration_deploy_dir = '\\Vsydnweb025\Phoenix_IntegrationTests\'
$build_scripts_dir = "$root_dir\Build\BuildScripts"
}

task default -depends Deploy

task Deploy
{
Write-Host 'Start task deploy'
Write-Host 'Deploying to integration server'
copy $sites_dir $integration_deploy_dir -Recurse -Force
Write-Host 'End task deploy'
get-childitem $integration_deploy_dir -include *.svclog -recurse | foreach ($_) {remove-item $_.fullname}
}

输出如下:
Write-Host 'Start task deploy'
Write-Host 'Deploying to integration server'
copy $sites_dir $integration_deploy_dir -Recurse -Force
Write-Host 'End task deploy'
get-childitem $integration_deploy_dir -include *.svclog -recurse | foreach ($_) {remove-item $_.fullname}


Build Succeeded!

----------------------------------------------------------------------
Build Time Report
----------------------------------------------------------------------
Name Duration
---- --------
Deploy 00:00:00.0006013
Total: 00:00:02.5335350

因此,似乎任务中的功能刚刚被打印出来。

复制功能未运行-也不删除Piped .SvcLog文件

即在屏幕上我期望

“开始任务部署”

代替

写主机“开始任务部署”

一直在努力使它工作。

谢谢你的帮助!!!

最佳答案

在Google网上论坛中回答过吗

开头的“{”必须与“任务”函数位于同一行,因为
这是一个脚本块,已作为参数传递给“任务”
功能。 PS会将您的代码解释为2条语句,而不是1条
声明。

关于powershell - PSAKE Powershell和执行任务未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7494726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com