Browse Source

Cli: Configure Docker Files

pull/12400/head
Yunus Emre Kalkan 4 years ago
parent
commit
49efd92a8f
  1. 25
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/MoveFileStep.cs
  2. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveFileStep.cs
  3. 40
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs

25
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/MoveFileStep.cs

@ -0,0 +1,25 @@
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps;
public class MoveFileStep : ProjectBuildPipelineStep
{
private readonly string _filePath;
private readonly string _newPath;
public MoveFileStep(string filePath, string newPath)
{
_filePath = filePath;
_newPath = newPath;
}
public override void Execute(ProjectBuildContext context)
{
var fileToMove = context.Files.Find(x => x.Name == _filePath);
if (fileToMove == null)
{
return;
}
fileToMove.SetName(_newPath);
}
}

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveFileStep.cs

@ -12,7 +12,7 @@ public class RemoveFileStep : ProjectBuildPipelineStep
public override void Execute(ProjectBuildContext context)
{
var fileToRemove = context.Files.Find(x => x.Name.EndsWith(_filePath));
var fileToRemove = context.Files.Find(x => x.Name == _filePath);;
if (fileToRemove != null)
{
context.Files.Remove(fileToRemove);

40
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs

@ -81,19 +81,12 @@ public abstract class AppNoLayersTemplateBase : AppTemplateBase
break;
}
//ConfigureTenantSchema(context, steps);
//SwitchDatabaseProvider(context, steps);
//DeleteUnrelatedProjects(context, steps);
steps.Add(new RemoveFolderStep("/aspnet-core/MyCompanyName.MyProjectName/Migrations"));
//RemoveMigrations(context, steps);
//ConfigureTieredArchitecture(context, steps);
//ConfigurePublicWebSite(context, steps);
//RemoveUnnecessaryPorts(context, steps);
RandomizeSslPorts(context, steps);
RandomizeStringEncryption(context, steps);
UpdateNuGetConfig(context, steps);
ChangeConnectionString(context, steps);
//CleanupFolderHierarchy(context, steps);
ConfigureDockerFiles(context, steps);
if (context.BuildArgs.UiFramework != UiFramework.Angular)
{
@ -102,4 +95,35 @@ public abstract class AppNoLayersTemplateBase : AppTemplateBase
return steps;
}
private void ConfigureDockerFiles(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
switch (context.BuildArgs.UiFramework)
{
case UiFramework.None:
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Blazor.Server.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Mvc.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/dynamic-env.json"));
steps.Add(new MoveFileStep("/aspnet-core/etc/docker/docker-compose.Host.yml", "/aspnet-core/etc/docker/docker-compose.yml"));
break;
case UiFramework.Angular:
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Blazor.Server.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Mvc.yml"));
steps.Add(new MoveFileStep("/aspnet-core/etc/docker/docker-compose.Host.yml", "/aspnet-core/etc/docker/docker-compose.yml"));
break;
case UiFramework.BlazorServer:
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Host.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Mvc.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/dynamic-env.json"));
steps.Add(new MoveFileStep("/aspnet-core/etc/docker/docker-compose.Blazor.Server.yml", "/aspnet-core/etc/docker/docker-compose.yml"));
break;
case UiFramework.NotSpecified:
case UiFramework.Mvc:
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Blazor.Server.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Host.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/dynamic-env.json"));
steps.Add(new MoveFileStep("/aspnet-core/etc/docker/docker-compose.Mvc.yml", "/aspnet-core/etc/docker/docker-compose.yml"));
break;
}
}
}

Loading…
Cancel
Save