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
助けてくれてありがとう-私はあなたのすべての提案をしましたが、それでも運がありません。
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
したがって、タスク内の関数は印刷されているようです。
コピー機能は実行されませんでした-パイプされた.SvcLogファイルも削除されません
つまり、私が期待する画面上
「タスクのデプロイを開始する」
それ以外の
Write-Host'タスクのデプロイを開始'
私はそれを機能させるために努力し続けます。
ご協力いただきありがとうございます!!!