-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSriracha.Deploy.build
136 lines (131 loc) · 5.68 KB
/
Sriracha.Deploy.build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?xml version="1.0"?>
<project name="Sriracha" xmlns="http://nant.sf.net/release/0.86-beta1/nant.xsd">
<description />
<property name="BuildDirectory" value="${directory::get-current-directory()}" />
<property name="BuildNumber" value="${environment::get-variable('BUILD_NUMBER')}"/>
<target name="BuildSolution" description="Build Solution">
<msbuild project=".\Sriracha.Deploy.sln" target="Rebuild">
<property name="Configuration" value="ReleaseTasks"/>
</msbuild>
<msbuild project=".\Sriracha.Deploy.sln" target="Rebuild">
<property name="Configuration" value="ReleaseRepositories"/>
</msbuild>
<msbuild project=".\Sriracha.Deploy.sln" target="Rebuild">
<property name="Configuration" value="Release"/>
</msbuild>
</target>
<target name="PackageSolution" description="Package Solution">
<delete dir=".\Publish"/>
<delete dir=".\PublishTemp"/>
<copy todir=".\Publish\WindowsService">
<fileset basedir=".\Sriracha.Deploy.Server\bin\Release">
<include name="**/*.config"/>
<include name="**/*.dll"/>
<include name="**/*.exe"/>
</fileset>
</copy>
<copy todir=".\Publish\OfflineExe">
<fileset basedir=".\Sriracha.Deploy.Offline\bin\Release">
<include name="**/*.config"/>
<include name="**/*.dll"/>
<include name="**/*.exe"/>
</fileset>
</copy>
<copy todir=".\Publish\SelfDeploy">
<fileset basedir=".\Sriracha.Deploy.SelfDeploy\bin\Release">
<include name="**/*.config"/>
<include name="**/*.dll"/>
<include name="**/*.exe"/>
</fileset>
</copy>
<copy todir=".\Publish\CommandLine">
<fileset basedir=".\Sriracha.Deploy.CommandLine">
<include name="*.nuspec"/>
</fileset>
</copy>
<copy todir=".\Publish\CommandLine">
<fileset basedir=".\Sriracha.Deploy.CommandLine\bin\Release">
<include name="**/*.config"/>
<include name="**/*.dll"/>
<include name="**/*.exe"/>
</fileset>
</copy>
<copy todir=".\Publish\SqlServerDatabase">
<fileset basedir=".\Repository\SqlServer\Sriracha.Deploy.SqlServer.RoundhousE\db">
<include name="**/*.*"/>
</fileset>
</copy>
<msbuild project=".\Sriracha.Deploy.Web\Sriracha.Deploy.Web.csproj" target="ResolveReferences;_CopyWebApplication">
<property name="Configuration" value="Release"/>
<property name="OutDir" value="..\PublishTemp\Website\\"/>
<property name="BuildingProject" value="true"/>
</msbuild>
<!--
Why this if/unless(directory:exists) foolishness? Is msbuild's ongoing attempts to drive me insane, on my local machine it creates
published directory as Sriracha.Deploy.Web, but on our build server it's Sriracha.Deploy.Web.csproj.
And don't forget the double trailing slash, or it will seemingly-randomly fail on certain machines for stupid reasons.
Cheers!
-->
<property name="PublishTempWebDirectory" value="${BuildDirectory}\PublishTemp\Website\_PublishedWebsites\Sriracha.Deploy.Web.csproj"/>
<echo message="Directory exists '${PublishTempWebDirectory}'?: ${directory::exists(PublishTempWebDirectory)}"/>
<copy todir="${PublishTempWebDirectory}\bin" if="${directory::exists(PublishTempWebDirectory)}">
<fileset basedir=".\Sriracha.Deploy.Web\bin">
<include name="**/*.config"/>
<include name="**/*.dll"/>
<include name="**/*.exe"/>
</fileset>
</copy>
<copy todir=".\Publish\Website" if="${directory::exists(PublishTempWebDirectory)}">
<fileset basedir="${PublishTempWebDirectory}">
<include name="**/*"/>
</fileset>
</copy>
<copy todir="${BuildDirectory}\PublishTemp\Website\_PublishedWebsites\Sriracha.Deploy.Web\bin" unless="${directory::exists(PublishTempWebDirectory)}">
<fileset basedir=".\Sriracha.Deploy.Web\bin">
<include name="**/*.config"/>
<include name="**/*.dll"/>
<include name="**/*.exe"/>
</fileset>
</copy>
<copy todir=".\Publish\Website" unless="${directory::exists(PublishTempWebDirectory)}">
<fileset basedir="${BuildDirectory}\PublishTemp\Website\_PublishedWebsites\Sriracha.Deploy.Web">
<include name="**/*"/>
</fileset>
</copy>
<xmlpoke
file="${BuildDirectory}\Publish\Website\web.config"
xpath="/configuration/system.web/compilation/@debug"
value="false"
/>
</target>
<target name="DeploySolution" description="Deploy Solution">
<exec program="ThirdParty\roundhouse-configfile\rh.exe" verbose="true">
<arg value="--configfile:${deploySettingsDirectory}\${deployEnvironment}.js"/>
<arg value="--sqlfilesdirectory:${BuildDirectory}\Publish\SqlServerDatabase"/>
<arg value="--silent"/>
</exec>
<exec program=".\ThirdParty\dropkick-trunk\dk.exe" verbose="true">
<arg value="execute"/>
<arg value="/deployment:.\Publish\SelfDeploy\Sriracha.Deploy.SelfDeploy.dll"/>
<arg value="/environment:${deployEnvironment}"/>
<arg value="/settings:${deploySettingsDirectory}"/>
<arg value="--silent"/>
</exec>
</target>
<target name="NuGetPackageCommandLine" description="NuGet Package Command Line">
<mkdir dir="${BuildDirectory}\Publish\NuGet\CommandLine"/>
<exec program=".\.nuget\nuget.exe" verbose="true">
<arg value="pack"/>
<arg value="${BuildDirectory}\Publish\CommandLine\Sriracha.Deploy.CommandLine.nuspec"/>
<arg value="-OutputDirectory"/>
<arg value="${BuildDirectory}\Publish\NuGet\CommandLine"/>
<arg value="-Verbosity"/>
<arg value="detailed"/>
<arg value="-Tool"/>
<arg value="-BasePath"/>
<arg value="${BuildDirectory}\Publish\CommandLine"/>
<arg value="-Version"/>
<arg value="${BuildNumber}"/>
</exec>
</target>
</project>