dolphindeploy 0.0.2-universal-dotnet

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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