Skip to content

Commit

Permalink
refactoring moved to real webjobs. prepare for x64 builds.
Browse files Browse the repository at this point in the history
  • Loading branch information
sjkp committed Jan 24, 2016
1 parent 64177b1 commit 101547d
Show file tree
Hide file tree
Showing 45 changed files with 766 additions and 212 deletions.
44 changes: 36 additions & 8 deletions LetsEncrypt-SiteExtension.sln
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,18 @@ Project("{151D2E53-A2C4-4D7D-83FE-D05416EBD58E}") = "LetsEncrypt.ResourceGroup",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LetsEncrypt.SiteExtension.Test", "LetsEncrypt.SiteExtension.Test\LetsEncrypt.SiteExtension.Test.csproj", "{279DE1A9-4C87-4780-A64E-6FC2E049852A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LetsEncrypt.SiteExtension.WebJob", "LetsEncrypt.SiteExtension.WebJob\LetsEncrypt.SiteExtension.WebJob.csproj", "{EFB1F15B-3ACF-4A26-8280-88BE13DBB86F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LetsEncrypt.SiteExtension.Core", "LetsEncrypt.SiteExtension.Core\LetsEncrypt.SiteExtension.Core.csproj", "{284F0226-F481-4C10-A408-4146FDBB71CC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{ED36B174-3C73-447F-A76F-5E8D23B8ADB3}"
ProjectSection(SolutionItems) = preProject
build.cmd = build.cmd
build.job.cmd = build.job.cmd
LetsEncrypt.nuspec = LetsEncrypt.nuspec
letsencrypt.siteextension.job.nuspec = letsencrypt.siteextension.job.nuspec
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -27,20 +39,36 @@ Global
{87F0FF62-16C3-43CE-B154-1B9BC28DED67}.Release|x86.Build.0 = Release|x86
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Debug|x86.ActiveCfg = Debug|Any CPU
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Debug|x86.Build.0 = Debug|Any CPU
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Debug|x86.ActiveCfg = Debug|x86
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Debug|x86.Build.0 = Debug|x86
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Release|Any CPU.Build.0 = Release|Any CPU
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Release|x86.ActiveCfg = Release|Any CPU
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Release|x86.Build.0 = Release|Any CPU
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Release|x86.ActiveCfg = Release|x86
{8D564C1F-D94F-488C-AB13-F42C0511F76E}.Release|x86.Build.0 = Release|x86
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Debug|x86.ActiveCfg = Debug|Any CPU
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Debug|x86.Build.0 = Debug|Any CPU
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Debug|x86.ActiveCfg = Debug|x86
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Debug|x86.Build.0 = Debug|x86
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Release|Any CPU.Build.0 = Release|Any CPU
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Release|x86.ActiveCfg = Release|Any CPU
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Release|x86.Build.0 = Release|Any CPU
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Release|x86.ActiveCfg = Release|x86
{279DE1A9-4C87-4780-A64E-6FC2E049852A}.Release|x86.Build.0 = Release|x86
{EFB1F15B-3ACF-4A26-8280-88BE13DBB86F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EFB1F15B-3ACF-4A26-8280-88BE13DBB86F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EFB1F15B-3ACF-4A26-8280-88BE13DBB86F}.Debug|x86.ActiveCfg = Debug|x86
{EFB1F15B-3ACF-4A26-8280-88BE13DBB86F}.Debug|x86.Build.0 = Debug|x86
{EFB1F15B-3ACF-4A26-8280-88BE13DBB86F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EFB1F15B-3ACF-4A26-8280-88BE13DBB86F}.Release|Any CPU.Build.0 = Release|Any CPU
{EFB1F15B-3ACF-4A26-8280-88BE13DBB86F}.Release|x86.ActiveCfg = Release|x86
{EFB1F15B-3ACF-4A26-8280-88BE13DBB86F}.Release|x86.Build.0 = Release|x86
{284F0226-F481-4C10-A408-4146FDBB71CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{284F0226-F481-4C10-A408-4146FDBB71CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{284F0226-F481-4C10-A408-4146FDBB71CC}.Debug|x86.ActiveCfg = Debug|x86
{284F0226-F481-4C10-A408-4146FDBB71CC}.Debug|x86.Build.0 = Debug|x86
{284F0226-F481-4C10-A408-4146FDBB71CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{284F0226-F481-4C10-A408-4146FDBB71CC}.Release|Any CPU.Build.0 = Release|Any CPU
{284F0226-F481-4C10-A408-4146FDBB71CC}.Release|x86.ActiveCfg = Release|x86
{284F0226-F481-4C10-A408-4146FDBB71CC}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
5 changes: 5 additions & 0 deletions LetsEncrypt-SiteExtension/Content/Site.css
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,8 @@ textarea {
max-width: 280px;
}

.navbar-brand
{
padding: 10px 15px;
}

5 changes: 3 additions & 2 deletions LetsEncrypt-SiteExtension/Controllers/HomeController.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using ARMExplorer.Controllers;
using ARMExplorer.Modules;
using LetsEncrypt.SiteExtension;
using LetsEncrypt.SiteExtension.Core;
using LetsEncrypt.SiteExtension.Models;
using Microsoft.Azure.Graph.RBAC;
using Microsoft.Azure.Graph.RBAC.Models;
Expand All @@ -26,7 +27,7 @@ public class HomeController : Controller
// GET: Authentication
public ActionResult Index()
{
var model = new AppSettingsAuthConfig();
var model = new AppSettingsAuthConfig();


return View(model);
Expand Down Expand Up @@ -132,7 +133,7 @@ public ActionResult Install(RequestAndInstallModel model)
Tenant = settings.Tenant,
BaseUri = baseUri,
};
var thumbprint = Functions.RequestAndInstallInternal(target);
var thumbprint = CertificateManager.RequestAndInstallInternal(target);
if (thumbprint != null)
return RedirectToAction("Hostname", new { id = thumbprint });
}
Expand Down
12 changes: 1 addition & 11 deletions LetsEncrypt-SiteExtension/Global.asax.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
using System.Web.Security;
using System.Web.SessionState;
using System.Web.Http;
using Microsoft.Azure.WebJobs;

namespace LetsEncrypt.SiteExtension
{
Expand All @@ -19,16 +18,7 @@ void Application_Start(object sender, EventArgs e)
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
var config = new JobHostConfiguration();
config.UseTimers();
var host = new JobHost(config);
try {
host.Start();
}
catch(Exception ex)
{

}

}
}
}
79 changes: 10 additions & 69 deletions LetsEncrypt-SiteExtension/LetsEncrypt.SiteExtension.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -42,62 +42,18 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="ACMESharp, Version=0.7.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ACMESharp.0.7.0.109-EA\lib\net45\ACMESharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ACMESharp.PKI.Providers.OpenSslLib32, Version=0.7.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ACMESharp.PKI.Providers.OpenSslLib32.0.7.0.109-EA\lib\net45\ACMESharp.PKI.Providers.OpenSslLib32.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ACMESharp.PKI.Providers.OpenSslLib64, Version=0.7.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ACMESharp.PKI.Providers.OpenSslLib64.0.7.0.109-EA\lib\net45\ACMESharp.PKI.Providers.OpenSslLib64.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="AWSSDK.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.Core.3.1.1.0\lib\net45\AWSSDK.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="AWSSDK.Route53, Version=3.1.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.Route53.3.1.0.1\lib\net45\AWSSDK.Route53.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="AWSSDK.S3, Version=3.1.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.S3.3.1.2.1\lib\net45\AWSSDK.S3.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="log4net, Version=1.2.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.3\lib\net40-full\log4net.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ManagedOpenSsl, Version=0.6.1.0, Culture=neutral, processorArchitecture=x86">
<HintPath>..\packages\ManagedOpenSsl32.0.6.1.1\lib\net20\ManagedOpenSsl.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Azure.Graph.RBAC, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.Graph.RBAC.2.1.1-preview\lib\net45\Microsoft.Azure.Graph.RBAC.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Azure.Management.Websites, Version=1.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.Management.Websites.1.0.1-preview\lib\net45\Microsoft.Azure.Management.Websites.dll</HintPath>
<Reference Include="Microsoft.Azure.Management.Websites, Version=1.0.0.2, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.Management.Websites.1.0.2-preview\lib\net45\Microsoft.Azure.Management.Websites.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Azure.ResourceManager, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.Management.Resources.3.3.1-preview\lib\net45\Microsoft.Azure.ResourceManager.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.WebJobs.Core.1.1.0\lib\net45\Microsoft.Azure.WebJobs.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Extensions, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.WebJobs.Extensions.1.0.0\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Host, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.WebJobs.1.1.0\lib\net45\Microsoft.Azure.WebJobs.Host.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
<Private>True</Private>
Expand Down Expand Up @@ -143,10 +99,6 @@
<HintPath>..\packages\WindowsAzure.Storage.4.3.0\lib\net40\Microsoft.WindowsAzure.Storage.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="NCrontab, Version=2.0.16709.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ncrontab.2.0.0\lib\net20\NCrontab.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
Expand Down Expand Up @@ -229,6 +181,7 @@
<Content Include="applicationHost.xdt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="install.cmd" />
<None Include="Scripts\jquery-1.10.2.intellisense.js" />
<Content Include="Scripts\jquery-1.10.2.js" />
<Content Include="Scripts\jquery-1.10.2.min.js" />
Expand All @@ -238,33 +191,23 @@
<ItemGroup>
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="App_Start\WebApiConfig.cs" />
<Compile Include="ArmHelper.cs" />
<Compile Include="Controllers\HomeController.cs" />
<Compile Include="Controllers\HyakUtils.cs" />
<Compile Include="Controllers\Utils.cs" />
<Compile Include="Models\HostnameModel.cs" />
<Compile Include="Controllers\SettingsController.cs" />
<Compile Include="Functions.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="Models\AppSettingsAuthConfig.cs" />
<Compile Include="Models\ARMEntry.cs" />
<Compile Include="Models\ARMListEntry.cs" />
<Compile Include="Models\AuthenticationModel.cs" />
<Compile Include="Models\IAuthSettings.cs" />
<Compile Include="Models\INamedObject.cs" />
<Compile Include="Models\RequestAndInstallModel.cs" />
<Compile Include="Models\SettingEntry.cs" />
<Compile Include="Models\WebAppEnviromentVariables.cs" />
<Compile Include="Modules\AADOAuth2AccessToken.cs" />
<Compile Include="Modules\ARMOAuthModule.cs" />
<Compile Include="Modules\Extensions.cs" />
<Compile Include="Modules\OpenIdConfiguration.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SettingsStore.cs" />
<Compile Include="Target.cs" />
<Compile Include="Util.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Views\web.config" />
Expand All @@ -280,6 +223,7 @@
<Content Include="Views\Home\Install.cshtml" />
<Content Include="Views\Home\AddHostname.cshtml" />
<Content Include="Views\Home\CreateServicePrincipal.cshtml" />
<Content Include="uninstall.cmd" />
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>
Expand Down Expand Up @@ -309,19 +253,16 @@
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>

<ItemGroup>
<Content Include="..\packages\ManagedOpenSsl32.0.6.1.1\content\x86\libeay32.dll">
<Link>x86\libeay32.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="..\packages\ManagedOpenSsl32.0.6.1.1\content\x86\ssleay32.dll">
<Link>x86\ssleay32.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<ProjectReference Include="..\LetsEncrypt.SiteExtension.Core\LetsEncrypt.SiteExtension.Core.csproj">
<Project>{284f0226-f481-4c10-a408-4146fdbb71cc}</Project>
<Name>LetsEncrypt.SiteExtension.Core</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
Expand Down
4 changes: 2 additions & 2 deletions LetsEncrypt-SiteExtension/Views/Home/Index.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
</tr>
<tr>
<td>@LetsEncrypt.SiteExtension.Models.AppSettingsAuthConfig.subscriptionIdKey</td>
<td>The subscription id</td>
<td>(Optional) The subscription id, if left empty the enviroment variable WEBSITE_OWNER_NAME will be used</td>
</tr>
<tr>
<td>@LetsEncrypt.SiteExtension.Models.AppSettingsAuthConfig.clientIdKey</td>
Expand All @@ -36,7 +36,7 @@
</tr>
<tr>
<td>@LetsEncrypt.SiteExtension.Models.AppSettingsAuthConfig.resourceGroupNameKey</td>
<td>The name of the resource group this web app belongs to</td>
<td>(Optional) The name of the resource group this web app belongs to, if left empty the enviroment variable WEBSITE_OWNER_NAME will be used</td>
</tr>
</tbody>
</table>
Expand Down
5 changes: 3 additions & 2 deletions LetsEncrypt-SiteExtension/Views/Shared/_Layout.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Azure Let's Encrypt - @ViewBag.Title</title>
<link href="~/Content/Site.css" rel="stylesheet" type="text/css" />
<title>Azure Let's Encrypt - @ViewBag.Title</title>
<link href="~/Content/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="~/Content/Site.css" rel="stylesheet" type="text/css" />
<script src="~/Scripts/modernizr-2.6.2.js"></script>
</head>
<body>
Expand All @@ -26,6 +26,7 @@
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="/azurejobs/#/jobs/continuous/letsencrypt.siteextension.job">Web Jobs</a></li>
</ul>
</div>
</div>
Expand Down
6 changes: 3 additions & 3 deletions LetsEncrypt-SiteExtension/Web.config
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
Expand All @@ -39,8 +39,8 @@
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<modules runAllManagedModulesForAllRequests="true">
<remove name="FormsAuthentication"/>
<add name="ARMOAuthModule" type="ARMExplorer.Modules.ARMOAuthModule, LetsEncrypt.SiteExtension" preCondition="managedHandler"/>
<remove name="FormsAuthentication" />
<!--<add name="ARMOAuthModule" type="ARMExplorer.Modules.ARMOAuthModule, LetsEncrypt.SiteExtension" preCondition="managedHandler" />-->
</modules>
</system.webServer>
<runtime>
Expand Down
15 changes: 15 additions & 0 deletions LetsEncrypt-SiteExtension/install.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
cd /D %TEMP%
IF EXIST letsencrypt.siteextension.job (
rd /S /q letsencrypt.siteextension.job
)
mkdir letsencrypt.siteextension.job
cd letsencrypt.siteextension.job
nuget install letsencrypt.siteextension.job -Pre

SET JOB_FOLDER="%WEBROOT_PATH%\App_Data\jobs\continuous\letsencrypt.siteextension.job"
IF EXIST %JOB_FOLDER% (
rd /S /q %JOB_FOLDER%
)
mkdir %JOB_FOLDER%
cd letsencrypt.siteextension.job*
xcopy content %JOB_FOLDER% /E /C
Loading

0 comments on commit 101547d

Please sign in to comment.