Clear web from prometheus if not MVC UI for microservice solution

resolves https://github.com/volosoft/volo/issues/5726
pull/7999/head
Yunus Emre Kalkan 5 years ago
parent 10add8ebcc
commit 28eaee8864

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class RemoveProjectFromPrometheusStep : ProjectBuildPipelineStep
{
private readonly string _name;
public RemoveProjectFromPrometheusStep(string name)
{
_name = name;
}
public override void Execute(ProjectBuildContext context)
{
var tyeFile = context.Files.FirstOrDefault(f => f.Name == "/etc/prometheus/prometheus.yml");
if (tyeFile == null)
{
return;
}
var lines = tyeFile.GetLines();
var newLines = new List<string>();
var nameLine = $"- job_name:";
var isOneOfTargetLines = false;
foreach (var line in lines)
{
if (line.Trim().Equals($"{nameLine} '{_name}'"))
{
isOneOfTargetLines = true;
continue;
}
if (line.Trim().StartsWith(nameLine))
{
isOneOfTargetLines = false;
}
if (!isOneOfTargetLines)
{
newLines.Add(line);
}
}
tyeFile.SetContent(String.Join(Environment.NewLine, newLines));
}
}
}

@ -30,13 +30,13 @@ namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
foreach (var line in lines)
{
if (line.Equals($"{nameLine} {_name}"))
if (line.Trim().Equals($"{nameLine} {_name}"))
{
isOneOfTargetLines = true;
continue;
}
if (line.StartsWith(nameLine))
if (line.Trim().StartsWith(nameLine))
{
isOneOfTargetLines = false;
}

@ -37,6 +37,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.Microservice
"/applications/web/src/MyCompanyName.MyProjectName.Web"));
steps.Add(new RemoveFolderStep("/applications/web"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor",null,
"/applications/blazor/src/MyCompanyName.MyProjectName.Blazor"));
@ -51,6 +52,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.Microservice
"/applications/web/src/MyCompanyName.MyProjectName.Web"));
steps.Add(new RemoveFolderStep("/applications/web"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor",null,
"/applications/blazor/src/MyCompanyName.MyProjectName.Blazor"));
@ -64,6 +66,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.Microservice
steps.Add(new RemoveFolderStep("/applications/web"));
steps.Add(new RemoveFolderStep("/angular"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
break;
case UiFramework.Mvc:

Loading…
Cancel
Save