dolphindeploy 0.0.2-universal-dotnet

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. data/README.markdown +9 -0
  2. data/TODO +18 -0
  3. data/external/DolphinDeploy.IIS.IIS6.dll +0 -0
  4. data/external/Microsoft.Web.Administration.dll +0 -0
  5. data/external/TinySharpZip.dll +0 -0
  6. data/external/adsutil.vbs +2938 -0
  7. data/external/xunit/HTML.xslt +117 -0
  8. data/external/xunit/NUnitXml.xslt +121 -0
  9. data/external/xunit/xunit.console.exe +0 -0
  10. data/external/xunit/xunit.console.exe.config +21 -0
  11. data/external/xunit/xunit.console.x86.exe +0 -0
  12. data/external/xunit/xunit.console.x86.exe.config +21 -0
  13. data/external/xunit/xunit.dll +0 -0
  14. data/external/xunit/xunit.dll.tdnet +5 -0
  15. data/external/xunit/xunit.extensions.dll +0 -0
  16. data/external/xunit/xunit.extensions.xml +706 -0
  17. data/external/xunit/xunit.gui.exe +0 -0
  18. data/external/xunit/xunit.gui.x86.exe +0 -0
  19. data/external/xunit/xunit.installer.exe +0 -0
  20. data/external/xunit/xunit.runner.msbuild.dll +0 -0
  21. data/external/xunit/xunit.runner.tdnet.dll +0 -0
  22. data/external/xunit/xunit.runner.utility.dll +0 -0
  23. data/external/xunit/xunit.runner.utility.xml +1048 -0
  24. data/external/xunit/xunit.xml +2306 -0
  25. data/lib/IIS/IIS.rb +23 -0
  26. data/lib/IIS/IIS6.rb +165 -0
  27. data/lib/IIS/IIS7.rb +152 -0
  28. data/lib/IIS/IISVersion.rb +7 -0
  29. data/lib/configured_as/mvc_deployment.rb +174 -0
  30. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.5.1.ReSharper.user +45 -0
  31. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/AppPoolControllerTests.cs +39 -0
  32. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/DolphinDeploy.IIS.IIS6.Tests.csproj +69 -0
  33. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/DolphinDeploy.IIS.IIS6.Tests.csproj.user +6 -0
  34. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/Helper.cs +18 -0
  35. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/Properties/AssemblyInfo.cs +36 -0
  36. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/WebsiteControllerTests.cs +56 -0
  37. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/bin/Debug/DolphinDeploy.IIS.IIS6.Tests.dll +0 -0
  38. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/bin/Debug/DolphinDeploy.IIS.IIS6.Tests.pdb +0 -0
  39. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/bin/Debug/DolphinDeploy.IIS.IIS6.dll +0 -0
  40. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/bin/Debug/DolphinDeploy.IIS.IIS6.pdb +0 -0
  41. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/bin/Debug/test_site/index.htm +9 -0
  42. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/bin/Debug/xunit.dll +0 -0
  43. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/bin/Debug/xunit.xml +2306 -0
  44. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache +0 -0
  45. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/obj/Debug/DolphinDeploy.IIS.IIS6.Tests.csproj.FileListAbsolute.txt +12 -0
  46. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/obj/Debug/DolphinDeploy.IIS.IIS6.Tests.dll +0 -0
  47. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/obj/Debug/DolphinDeploy.IIS.IIS6.Tests.pdb +0 -0
  48. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/obj/Debug/ResolveAssemblyReference.cache +0 -0
  49. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.Tests/test_site/index.htm +9 -0
  50. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.sln +26 -0
  51. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.suo +0 -0
  52. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/AppPoolController.cs +41 -0
  53. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6.csproj +56 -0
  54. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/IIS6Manager.cs +77 -0
  55. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/Properties/AssemblyInfo.cs +36 -0
  56. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/WebsiteController.cs +101 -0
  57. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/bin/Debug/DolphinDeploy.IIS.IIS6.dll +0 -0
  58. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/bin/Debug/DolphinDeploy.IIS.IIS6.pdb +0 -0
  59. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache +0 -0
  60. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/obj/Debug/DolphinDeploy.IIS.IIS6.csproj.FileListAbsolute.txt +7 -0
  61. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/obj/Debug/DolphinDeploy.IIS.IIS6.dll +0 -0
  62. data/lib/csharp/DolphinDeploy.IIS.IIS6/DolphinDeploy.IIS.IIS6/obj/Debug/DolphinDeploy.IIS.IIS6.pdb +0 -0
  63. data/lib/csharp/DolphinDeploy.IIS.IIS6/_ReSharper.DolphinDeploy.IIS.IIS6/BuildScriptCache/1/78fc7364.dat +0 -0
  64. data/lib/csharp/DolphinDeploy.IIS.IIS6/_ReSharper.DolphinDeploy.IIS.IIS6/ModuleIds.xml +4 -0
  65. data/lib/csharp/DolphinDeploy.IIS.IIS6/_ReSharper.DolphinDeploy.IIS.IIS6/NamedArguments/5/4b9722ad.dat +0 -0
  66. data/lib/csharp/DolphinDeploy.IIS.IIS6/_ReSharper.DolphinDeploy.IIS.IIS6/PdbInfo/61d4d5326252d9cd7476a391dfbbb2a47481ffa6 +0 -0
  67. data/lib/csharp/DolphinDeploy.IIS.IIS6/_ReSharper.DolphinDeploy.IIS.IIS6/ProjectModel/ProjectModel.dat +0 -0
  68. data/lib/csharp/DolphinDeploy.IIS.IIS6/_ReSharper.DolphinDeploy.IIS.IIS6/SymbolCache.bin +0 -0
  69. data/lib/csharp/DolphinDeploy.IIS.IIS6/_ReSharper.DolphinDeploy.IIS.IIS6/TodoCache/1/78fc7364.dat +0 -0
  70. data/lib/csharp/DolphinDeploy.IIS.IIS6/_ReSharper.DolphinDeploy.IIS.IIS6/WordIndex/1/72ab4678.dat +0 -0
  71. data/lib/deploycommandcreator.rb +34 -0
  72. data/lib/deploymentconfig.rb +15 -0
  73. data/lib/directory_cleanup.rb +16 -0
  74. data/lib/dolphindeploy.rb +12 -0
  75. data/lib/dolphindeploy_rake.rb +36 -0
  76. data/lib/file_manager.rb +30 -0
  77. data/lib/unzip.rb +11 -0
  78. data/spec/IIS/IIS6_spec.rb +24 -0
  79. data/spec/IIS/IIS_spec.rb +18 -0
  80. data/spec/configured_as/mvc_deployment_spec.rb +108 -0
  81. data/spec/deploycommandcreator_spec.rb +169 -0
  82. data/spec/deploymentconfig_spec.rb +202 -0
  83. data/spec/dolphindeploy_spec.rb +13 -0
  84. data/spec/file_manager_spec.rb +22 -0
  85. data/spec/support/spec_helper.rb +17 -0
  86. metadata +222 -0
@@ -0,0 +1,12 @@
1
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\bin\Debug\DolphinDeploy.IIS.IIS6.Tests.Contracts.dll
2
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\bin\Debug\DolphinDeploy.IIS.IIS6.Tests.Contracts.pdb
3
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\bin\Debug\DolphinDeploy.IIS.IIS6.Tests.dll
4
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\bin\Debug\DolphinDeploy.IIS.IIS6.Tests.pdb
5
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\bin\Debug\DolphinDeploy.IIS.IIS6.dll
6
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\bin\Debug\xunit.dll
7
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\bin\Debug\DolphinDeploy.IIS.IIS6.pdb
8
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\bin\Debug\xunit.xml
9
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\obj\Debug\ResolveAssemblyReference.cache
10
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\obj\Debug\DolphinDeploy.IIS.IIS6.Tests.dll
11
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\obj\Debug\DolphinDeploy.IIS.IIS6.Tests.pdb
12
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.Tests\bin\Debug\test_site\index.htm
@@ -0,0 +1,9 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <title></title>
5
+ </head>
6
+ <body>
7
+ <h1>Hello World!</h1>
8
+ </body>
9
+ </html>
@@ -0,0 +1,26 @@
1
+ 
2
+ Microsoft Visual Studio Solution File, Format Version 11.00
3
+ # Visual Studio 2010
4
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DolphinDeploy.IIS.IIS6", "DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6.csproj", "{42DA9D8E-0106-4875-896B-3B45C9EC0C01}"
5
+ EndProject
6
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DolphinDeploy.IIS.IIS6.Tests", "DolphinDeploy.IIS.IIS6.Tests\DolphinDeploy.IIS.IIS6.Tests.csproj", "{FBC105C7-FFE5-4991-842C-1811B2BD24ED}"
7
+ EndProject
8
+ Global
9
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
10
+ Debug|Any CPU = Debug|Any CPU
11
+ Release|Any CPU = Release|Any CPU
12
+ EndGlobalSection
13
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
14
+ {42DA9D8E-0106-4875-896B-3B45C9EC0C01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15
+ {42DA9D8E-0106-4875-896B-3B45C9EC0C01}.Debug|Any CPU.Build.0 = Debug|Any CPU
16
+ {42DA9D8E-0106-4875-896B-3B45C9EC0C01}.Release|Any CPU.ActiveCfg = Release|Any CPU
17
+ {42DA9D8E-0106-4875-896B-3B45C9EC0C01}.Release|Any CPU.Build.0 = Release|Any CPU
18
+ {FBC105C7-FFE5-4991-842C-1811B2BD24ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19
+ {FBC105C7-FFE5-4991-842C-1811B2BD24ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
20
+ {FBC105C7-FFE5-4991-842C-1811B2BD24ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
21
+ {FBC105C7-FFE5-4991-842C-1811B2BD24ED}.Release|Any CPU.Build.0 = Release|Any CPU
22
+ EndGlobalSection
23
+ GlobalSection(SolutionProperties) = preSolution
24
+ HideSolutionNode = FALSE
25
+ EndGlobalSection
26
+ EndGlobal
@@ -0,0 +1,41 @@
1
+ using System;
2
+ using System.DirectoryServices;
3
+
4
+ namespace DolphinDeploy.IIS.IIS6
5
+ {
6
+ public class AppPoolController : IIS6Manager
7
+ {
8
+ public void Create()
9
+ {
10
+ DirectoryEntry appPools = GetAppPoolAdmin();
11
+ DirectoryEntry appPool = appPools.Children.Add(Name, "IISApplicationPool");
12
+ appPool.CommitChanges();
13
+
14
+ SetProperties(appPool);
15
+ appPool.CommitChanges();
16
+
17
+ }
18
+
19
+ private void SetProperties(DirectoryEntry appPool)
20
+ {
21
+ appPool.Properties["AppPoolQueueLength"].Value = 4000;
22
+ appPool.Invoke("SetInfo", null);
23
+ }
24
+
25
+ public bool Exists()
26
+ {
27
+ var appPool = GetAppPool();
28
+
29
+ return appPool != null;
30
+ }
31
+
32
+ public void Delete()
33
+ {
34
+ if (Exists())
35
+ {
36
+ var appPool = GetAppPool();
37
+ appPool.DeleteTree();
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,56 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <PropertyGroup>
4
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6
+ <ProductVersion>8.0.30703</ProductVersion>
7
+ <SchemaVersion>2.0</SchemaVersion>
8
+ <ProjectGuid>{42DA9D8E-0106-4875-896B-3B45C9EC0C01}</ProjectGuid>
9
+ <OutputType>Library</OutputType>
10
+ <AppDesignerFolder>Properties</AppDesignerFolder>
11
+ <RootNamespace>DolphinDeploy.IIS.IIS6</RootNamespace>
12
+ <AssemblyName>DolphinDeploy.IIS.IIS6</AssemblyName>
13
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
14
+ <FileAlignment>512</FileAlignment>
15
+ </PropertyGroup>
16
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
17
+ <DebugSymbols>true</DebugSymbols>
18
+ <DebugType>full</DebugType>
19
+ <Optimize>false</Optimize>
20
+ <OutputPath>bin\Debug\</OutputPath>
21
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
22
+ <ErrorReport>prompt</ErrorReport>
23
+ <WarningLevel>4</WarningLevel>
24
+ </PropertyGroup>
25
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
26
+ <DebugType>pdbonly</DebugType>
27
+ <Optimize>true</Optimize>
28
+ <OutputPath>bin\Release\</OutputPath>
29
+ <DefineConstants>TRACE</DefineConstants>
30
+ <ErrorReport>prompt</ErrorReport>
31
+ <WarningLevel>4</WarningLevel>
32
+ </PropertyGroup>
33
+ <ItemGroup>
34
+ <Reference Include="System" />
35
+ <Reference Include="System.Core" />
36
+ <Reference Include="System.DirectoryServices" />
37
+ <Reference Include="System.Xml.Linq" />
38
+ <Reference Include="System.Data.DataSetExtensions" />
39
+ <Reference Include="System.Data" />
40
+ <Reference Include="System.Xml" />
41
+ </ItemGroup>
42
+ <ItemGroup>
43
+ <Compile Include="AppPoolController.cs" />
44
+ <Compile Include="IIS6Manager.cs" />
45
+ <Compile Include="Properties\AssemblyInfo.cs" />
46
+ <Compile Include="WebsiteController.cs" />
47
+ </ItemGroup>
48
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
49
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
50
+ Other similar extension points exist, see Microsoft.Common.targets.
51
+ <Target Name="BeforeBuild">
52
+ </Target>
53
+ <Target Name="AfterBuild">
54
+ </Target>
55
+ -->
56
+ </Project>
@@ -0,0 +1,77 @@
1
+ using System;
2
+ using System.DirectoryServices;
3
+
4
+ namespace DolphinDeploy.IIS.IIS6
5
+ {
6
+ public class IIS6Manager
7
+ {
8
+ public string Server { get; set; }
9
+ public string Name { get; set; }
10
+ public string HomeDirectory { get; set; }
11
+
12
+ public DirectoryEntry GetWebsite()
13
+ {
14
+ DirectoryEntry admin = GetIISAdmin();
15
+
16
+ foreach (DirectoryEntry site in admin.Children)
17
+ {
18
+ PropertyValueCollection serverComment = site.Properties["ServerComment"];
19
+ if (serverComment == null)
20
+ continue;
21
+
22
+ if (serverComment.Value == null || string.IsNullOrEmpty(serverComment.Value.ToString()))
23
+ continue;
24
+
25
+ if (string.Compare(serverComment.Value.ToString(), Name, false) == 0)
26
+ {
27
+ return site;
28
+ }
29
+ }
30
+
31
+ return null;
32
+ }
33
+
34
+ public DirectoryEntry GetAppPool()
35
+ {
36
+ DirectoryEntry appPools = GetAppPoolAdmin();
37
+ foreach (DirectoryEntry appPool in appPools.Children)
38
+ {
39
+ if (Name.Equals(appPool.Name, StringComparison.OrdinalIgnoreCase))
40
+ {
41
+ return appPool;
42
+ }
43
+ }
44
+
45
+ return null;
46
+ }
47
+
48
+ public DirectoryEntry GetIISAdmin()
49
+ {
50
+ return new DirectoryEntry(string.Format("IIS://{0}/w3svc", Server));
51
+ }
52
+
53
+ public DirectoryEntry GetAppPoolAdmin()
54
+ {
55
+ return new DirectoryEntry(string.Format("IIS://{0}/w3svc/AppPools", Server));
56
+ }
57
+
58
+ public void DumpIISInfo(DirectoryEntry entry)
59
+ {
60
+ if (entry == null) entry = new DirectoryEntry("IIS://localhost/w3svc");
61
+
62
+ foreach (DirectoryEntry childEntry in entry.Children)
63
+ {
64
+ using (childEntry)
65
+ {
66
+ Console.WriteLine(string.Format("Child name [{0}]", childEntry.Name));
67
+ foreach (PropertyValueCollection property in childEntry.Properties)
68
+ {
69
+ Console.WriteLine(string.Format("[{0}] [{1}] [{2}]", childEntry.Name, property.PropertyName, property.Value));
70
+ }
71
+
72
+ DumpIISInfo(childEntry);
73
+ }
74
+ }
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,36 @@
1
+ using System.Reflection;
2
+ using System.Runtime.CompilerServices;
3
+ using System.Runtime.InteropServices;
4
+
5
+ // General Information about an assembly is controlled through the following
6
+ // set of attributes. Change these attribute values to modify the information
7
+ // associated with an assembly.
8
+ [assembly: AssemblyTitle("DolphinDeploy.IIS.IIS6")]
9
+ [assembly: AssemblyDescription("")]
10
+ [assembly: AssemblyConfiguration("")]
11
+ [assembly: AssemblyCompany("")]
12
+ [assembly: AssemblyProduct("DolphinDeploy.IIS.IIS6")]
13
+ [assembly: AssemblyCopyright("Copyright © 2010")]
14
+ [assembly: AssemblyTrademark("")]
15
+ [assembly: AssemblyCulture("")]
16
+
17
+ // Setting ComVisible to false makes the types in this assembly not visible
18
+ // to COM components. If you need to access a type in this assembly from
19
+ // COM, set the ComVisible attribute to true on that type.
20
+ [assembly: ComVisible(false)]
21
+
22
+ // The following GUID is for the ID of the typelib if this project is exposed to COM
23
+ [assembly: Guid("1754ad96-181b-4eab-b97d-bb0d74f51132")]
24
+
25
+ // Version information for an assembly consists of the following four values:
26
+ //
27
+ // Major Version
28
+ // Minor Version
29
+ // Build Number
30
+ // Revision
31
+ //
32
+ // You can specify all the values or you can default the Build and Revision Numbers
33
+ // by using the '*' as shown below:
34
+ // [assembly: AssemblyVersion("1.0.*")]
35
+ [assembly: AssemblyVersion("1.0.0.0")]
36
+ [assembly: AssemblyFileVersion("1.0.0.0")]
@@ -0,0 +1,101 @@
1
+ using System;
2
+ using System.DirectoryServices;
3
+
4
+ namespace DolphinDeploy.IIS.IIS6
5
+ {
6
+ public class WebsiteController : IIS6Manager
7
+ {
8
+ public string AppPool { get; set; }
9
+ public string HostHeader { get; set; }
10
+ public string IpAddress { get; set; }
11
+ public int Port { get; set; }
12
+
13
+ public int Create()
14
+ {
15
+ try
16
+ {
17
+ int websiteId = CreateWebsite(GetIISSiteEntryName());
18
+
19
+ var website = GetWebsite();
20
+
21
+ SetProperties(website);
22
+
23
+ return websiteId;
24
+ }
25
+ catch (Exception)
26
+ {
27
+ return -1;
28
+ }
29
+ }
30
+
31
+ public void Start()
32
+ {
33
+ DirectoryEntry website = GetWebsite();
34
+ website.Invoke("Start", null);
35
+ }
36
+
37
+ public bool Exists()
38
+ {
39
+ var website = GetWebsite();
40
+ return website != null;
41
+ }
42
+
43
+ public void Delete()
44
+ {
45
+ if (Exists())
46
+ {
47
+ var website = GetWebsite();
48
+ website.DeleteTree();
49
+ }
50
+ }
51
+
52
+ private void SetProperties(DirectoryEntry website)
53
+ {
54
+ SetSecurity(website);
55
+ SetFriendlyName(website);
56
+ SetASPnetVersion(website);
57
+ }
58
+
59
+ private int CreateWebsite(object[] newsite)
60
+ {
61
+ DirectoryEntry admin = GetIISAdmin();
62
+ int websiteId = (int)admin.Invoke("CreateNewSite", newsite);
63
+ admin.CommitChanges();
64
+ return websiteId;
65
+ }
66
+
67
+ private void SetSecurity(DirectoryEntry website)
68
+ {
69
+ website.Properties["AppPoolId"][0] = AppPool;
70
+ website.Properties["AccessFlags"][0] = 512;
71
+ website.Properties["AccessRead"][0] = true;
72
+ website.Properties["AuthFlags"][0] = 5;
73
+ website.CommitChanges();
74
+ }
75
+
76
+ private void SetFriendlyName(DirectoryEntry website)
77
+ {
78
+ website.Properties["AppFriendlyName"][0] = website.Name;
79
+ website.CommitChanges();
80
+ }
81
+
82
+ private void SetASPnetVersion(DirectoryEntry website)
83
+ {
84
+ // upgrade Scriptmap to 2.0.50272 (ASP.NET version)
85
+ for (int prop = 0; prop < website.Properties["ScriptMaps"].Count; prop++)
86
+ {
87
+ website.Properties["ScriptMaps"][prop] = website.Properties["ScriptMaps"][prop].ToString().Replace("v1.1.4322", "v2.0.50727");
88
+ }
89
+
90
+ website.CommitChanges();
91
+ }
92
+
93
+ private object[] GetIISSiteEntryName()
94
+ {
95
+ if (string.IsNullOrEmpty(IpAddress))
96
+ IpAddress = "*";
97
+
98
+ return new object[] { Name, new object[] { string.Format("{0}:{1}:{2}", IpAddress, Port, HostHeader) }, HomeDirectory };
99
+ }
100
+ }
101
+ }
@@ -0,0 +1,7 @@
1
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6\bin\Debug\DolphinDeploy.IIS.IIS6.Contracts.dll
2
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6\bin\Debug\DolphinDeploy.IIS.IIS6.Contracts.pdb
3
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6\bin\Debug\DolphinDeploy.IIS.IIS6.dll
4
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6\bin\Debug\DolphinDeploy.IIS.IIS6.pdb
5
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6\obj\Debug\ResolveAssemblyReference.cache
6
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6\obj\Debug\DolphinDeploy.IIS.IIS6.dll
7
+ D:\SourceControl\DolphinDeploy\lib\csharp\DolphinDeploy.IIS.IIS6\DolphinDeploy.IIS.IIS6\obj\Debug\DolphinDeploy.IIS.IIS6.pdb
@@ -0,0 +1,4 @@
1
+ <Modules>
2
+ <Module PersistentId="FBC105C7-FFE5-4991-842C-1811B2BD24ED" ModuleId="DolphinDeploy.IIS.IIS6.Tests" />
3
+ <Module PersistentId="42DA9D8E-0106-4875-896B-3B45C9EC0C01" ModuleId="DolphinDeploy.IIS.IIS6" />
4
+ </Modules>
@@ -0,0 +1,34 @@
1
+ require 'mvc_deployment'
2
+
3
+ class DeployCommandCreator
4
+ def convert_from_config(config, environment_being_deployed)
5
+ deploy_config = create_object(config)
6
+
7
+ populate_object_from_config(deploy_config, config.environment, environment_being_deployed)
8
+
9
+ return deploy_config
10
+ end
11
+
12
+ private
13
+ def create_object(config)
14
+ cls_name = config.environment.configured_as
15
+ # raise if cls_name.nil?
16
+ Kernel.const_get(cls_name.to_s.capitalize + "Deployment").new
17
+ end
18
+
19
+ def populate_object_from_config(obj, environments, environment_being_deployed)
20
+ obj.set_environment(environment_being_deployed)
21
+ obj.set_description(environments.desc) if environments.has_key? :desc
22
+
23
+ env = environments[environment_being_deployed]
24
+ env.keys.each do |k|
25
+ call_method(obj, k, env[k])
26
+ end
27
+
28
+ end
29
+
30
+ def call_method(obj, name, param)
31
+ method_name = "set_" + name.to_s
32
+ obj.send(method_name.to_sym, param)
33
+ end
34
+ end