TFS Provide Artefacts
Script:
function CopyBinaries($applicationName, $relativeBinarySourcePath)
{
write-output „Create $env:BUILD_ARTIFACTSTAGINGDIRECTORY\Binaries\$applicationName“
New-Item -ItemType Directory -Force -Path „$env:BUILD_ARTIFACTSTAGINGDIRECTORY\Binaries\$applicationName“
write-output „Copy $applicationName Binaries to $env:BUILD_ARTIFACTSTAGINGDIRECTORY\Binaries\$applicationName“
Copy-Item „$env:BUILD_SOURCESDIRECTORY\$relativeBinarySourcePath\*“ „$env:BUILD_ARTIFACTSTAGINGDIRECTORY\Binaries\$applicationName“ -recurse
Remove-Item „$env:BUILD_ARTIFACTSTAGINGDIRECTORY\Binaries\$applicationName\*.pdb“ -recurse
Remove-Item „$env:BUILD_ARTIFACTSTAGINGDIRECTORY\Binaries\$applicationName\*.xml“ -recurse
Remove-Item „$env:BUILD_ARTIFACTSTAGINGDIRECTORY\Binaries\$applicationName\*.snk“ -recurse
}
function CopyMsi($applicationName, $MsiFile, $relativeMsiPath, $relativeBinarySourcePath)
{
write-output „Application Name: $applicationName“
write-output „Relative Path to Msi: $relativeMsiPath“
write-output „Msi File: $MsiFile“
write-output „Relative Path To BinarySources: $relativeBinarySourcePath“
write-output „Rename $applicationName Setup to $applicationName.$env:CUSTOM_VERSION.msi“
Rename-Item „$env:BUILD_SOURCESDIRECTORY\$relativeMsiPath\$MsiFile“ „$applicationName.$env:CUSTOM_VERSION.msi“
write-output „Copy $applicationName Setup to $env:BUILD_ARTIFACTSTAGINGDIRECTORY\“
Copy-Item „$env:BUILD_SOURCESDIRECTORY\$relativeMsiPath\*.msi“ $env:BUILD_ARTIFACTSTAGINGDIRECTORY
if(![string]::IsNullOrEmpty($relativeBinarySourcePath))
{
CopyBinaries $applicationName $relativeBinarySourcePath
}
}
function CopyWebDeployPackage($applicationName, $originWebDeployPackage, $relativeBinarySourcePath)
{
$webDeployFolder=“WebDeployment“
write-output „Application Name: $applicationName“
write-output „WebDeploy Folder: $webDeployFolder“
write-output „Origin WebDeployPackage: $originWebDeployPackage“
write-output „Relative Path To BinarySources: $relativeBinarySourcePath“
write-output „Rename $originWebDeployPackage WebDeploy Package to $applicationName.$env:CUSTOM_VERSION.zip“
Rename-Item „$env:BUILD_SOURCESDIRECTORY\$webDeployFolder\$originWebDeployPackage“ „$applicationName.$env:CUSTOM_VERSION.zip“
write-output „Copy $applicationName WebDeployPackage to $env:BUILD_ARTIFACTSTAGINGDIRECTORY“
Copy-Item „$env:BUILD_SOURCESDIRECTORY\$webDeployFolder\$applicationName.$env:CUSTOM_VERSION.zip“ $env:BUILD_ARTIFACTSTAGINGDIRECTORY
if(![string]::IsNullOrEmpty($relativeBinarySourcePath))
{
CopyBinaries $applicationName $relativeBinarySourcePath
}
}
CopyWebDeployPackage „WebDeployPackageName“ „WebDeployPackageName.zip“ „ToWebDeployPackageSource\obj\Release\Package\PackageTmp“
CopyBinaries „ApplicationName“ „ApplicationPathToBinaries\bin\Release“
Posted: Juli 20th, 2017 under Team Foundation Server.