Tôi không có chuyên gia, nhưng tôi không nghĩ rằng có thể chuyển đối số cho Invoke-Psake. Nhìn vào nguồn mới nhất cho Psake params cho hàm Invoke-Psake là:
param(
[Parameter(Position=0,Mandatory=0)]
[string]$buildFile = 'default.ps1',
[Parameter(Position=1,Mandatory=0)]
[string[]]$taskList = @(),
[Parameter(Position=2,Mandatory=0)]
[string]$framework = '3.5',
[Parameter(Position=3,Mandatory=0)]
[switch]$docs = $false
)
Có 4 thông số, xây dựng tập tin của bạn, một danh sách các nhiệm vụ, các phiên bản .NET framework, cho dù để tài liệu đầu ra của bạn nhiệm vụ. Tôi mới để PowerShell và psake và tôi đang cố gắng để làm điều tương tự, tôi đang thử nghiệm với làm điều gì đó như thế này trong kịch bản của tôi để đạt được điều tương:
properties {
$environment = "default"
}
task PublishForLive -precondition { $environment = "Live"; return $true; } -depends Publish {
}
task PublishForStaging -precondition { $environment = "Staging"; return $true; } -depends Publish {
}
task Publish {
Write-Host "Building and publishing for $environment environment"
#Publish the project...
}
Sau đó gọi psake với PublishForLive hoặc PublishForStaging , tùy theo điều gì tôi cần:
powershell -NoExit -ExecutionPolicy Unrestricted -Command "& {Import-Module .\tools\psake\psake.psm1; Invoke-psake .\psake-common.ps1 PublishForLive }"
Nhưng dường như nó không có tác dụng với tôi! Đặt biến môi trường $ trong điều kiện tiên quyết có vẻ không có hiệu lực. Vẫn đang cố gắng thực hiện công việc này ...
Nguồn
2010-02-06 13:36:01
Bạn có thể có may mắn hơn khi nhận được câu trả lời cho câu hỏi này trên http://groups.google.com/group/psake-users hoặc trên http://code.google.com/p/psake/ –
I đã thêm yêu cầu tính năng vào nhóm thảo luận - http://groups.google.com/group/psake-users/browse_thread/thread/cf59508789ab58eb –