J'ai un script tous les soirs qui devrait générer des fichiers zip Debug et Release, puis les télécharger via ftp sur le client. J'ai toujours utilisé AfterDropBuild pour le déploiement d'une seule configuration - qui fonctionne bien - mais la construction des deux config dans une seule construction ne semble pas fonctionner. J'espérais que AfterDropBuild s'exécuterait deux fois. Je peux bien sûr coder les tâches dans AfterDropBuild pour gérer les deux configs mais cela ne me semble pas correct.Team Build - déploiement de plusieurs configurations
Y a-t-il un meilleur moyen?
<Target Name="AfterDropBuild">
<CreateProperty Value="$(DropLocation)\ToClient">
<Output PropertyName="DeploymentFolder" TaskParameter="Value" />
</CreateProperty>
<GetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)">
<Output TaskParameter="BuildNumber" PropertyName="BuildNumber"></Output>
</GetBuildProperties>
<CreateProperty Value="%(ConfigurationToBuild.FlavorToBuild)">
<Output PropertyName="ConfigFlavor" TaskParameter="Value" />
</CreateProperty>
<MakeDir Directories="$(DeploymentFolder)" />
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)" Name="ZipSite"
Message="Zipping Site">
<Output TaskParameter="Id" PropertyName="ZipStepID" />
</BuildStep>
<!-- get a list of all the files in the published web sites -->
<CreateItem Include="$(OutDir)_PublishedWebSites\Site.Web\**\*.*" >
<Output TaskParameter="Include" ItemName="FilesToZip"/>
</CreateItem>
<CreateItem Include="$(OutDir)\Site.msi" >
<Output TaskParameter="Include" ItemName="FilesToZip"/>
</CreateItem>
<!-- zip the deployment files -->
<Zip Files="@(FilesToZip)"
ZipFileName="$(DeploymentFolder)\Site_$(BuildNumber)_$(ConfigFlavor).zip"
WorkingDirectory="$(OutDir)_PublishedWebSites\Site.Web" />
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)" Id="$(ZipStepId)" Status="Succeeded" />
<!-- upload the zip -->
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)" Name="UploadZip"
Message="Uploading Zip to Client">
<Output TaskParameter="Id" PropertyName="ZipUploadID" />
</BuildStep>
<CreateItem Include="$(DeploymentFolder)\*.zip" >
<Output TaskParameter="Include" ItemName="FilesToUpload" />
</CreateItem>
<FtpUpload
RemoteUri="ftp://ftp.blahblah.com/"
LocalFiles="@(FilesToUpload)"
RemoteFiles="@(FilesToUpload->'%(RecursiveDir)%(Filename)%(Extension)')"
UserName="user"
Password="password"
/>
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)" Id="$(ZipUploadID)" Status="Succeeded" />
</Target>
Merci
Merci, c'est à peu près ce que j'ai supposé. Il serait plus agréable si PackageBinaries ou AfterDropBuild couru une fois pour chaque config. – Jonesie