add connetction string to docker args

This commit is contained in:
Дмитрий Шиманский
2023-12-19 20:50:17 +03:00
parent 09bcf505cb
commit 93220d9d79
4 changed files with 12 additions and 5 deletions

1
.gitignore vendored
View File

@@ -362,4 +362,3 @@ MigrationBackup/
# Fody - auto-generated XML schema
FodyWeavers.xsd
/appsettings.json
/appsettings.json

View File

@@ -2,7 +2,10 @@
ARG CLIENTID
ARG CLIENTSECRET
ARG REDIRECTURL
ARG PSQL_HOST
ARG PSQL_USER
ARG PSQL_PASSWORD
ARG PSQL_DATABASE
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
@@ -17,7 +20,7 @@ WORKDIR "/src/."
RUN dotnet build "yaflay.ru.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "yaflay.ru.csproj" -c Release -o /app/publish /p:UseAppHost=false;redirectUrl=$REDIRECTURL;clientId=$CLIENTID;clientSecret=$CLIENTSECRET
RUN dotnet publish "yaflay.ru.csproj" -c Release -o /app/publish /p:UseAppHost=false;redirectUrl=$REDIRECTURL;clientId=$CLIENTID;clientSecret=$CLIENTSECRET;Host=$PSQL_HOST;Username=$PSQL_USER;Password=$PSQL_PASSWORD;Database=$PSQL_DATABASE
FROM base AS final
WORKDIR /app

View File

@@ -9,7 +9,7 @@ public class Program
Startup.clientId = parse("clientId");
Startup.clientSecret = parse("clientSecret");
Startup.redirectUrl = parse("redirectUrl");
Startup.connectionString = $"Host={parse("Host")};Username={parse("Username")};Password={parse("Password")};Database={parse("Database")}";
CreateHostBuilder()
.Build()
.Run();

View File

@@ -20,6 +20,7 @@ namespace yaflay.ru
public static string? clientId = null;
public static string? clientSecret = null;
public static string? redirectUrl = null;
public static string? connectionString { private get; set; } = null;
public Startup()
{
configuration = new ConfigurationBuilder()
@@ -32,6 +33,10 @@ namespace yaflay.ru
clientSecret = configuration.GetValue<string>("clientSecret");
redirectUrl = configuration.GetValue<string>("redirectUrl");
}
if (connectionString == null)
{
connectionString = configuration.GetValue<string>("connectionString");
}
}
public void ConfigureServices(IServiceCollection services)
@@ -49,7 +54,7 @@ namespace yaflay.ru
services
.AddRouting()
.AddSingleton(configuration)
.AddDbContext<AppDbContext>(c => c.UseNpgsql(connectionString: configuration.GetValue<string>("connectionOnServer")))
.AddDbContext<AppDbContext>(c => c.UseNpgsql(connectionString: connectionString))
.AddCoreAdmin("Admin");
services.AddRazorPages();
services.AddCors(k => { k.AddDefaultPolicy(l => { l.AllowAnyHeader(); l.AllowAnyMethod(); l.AllowAnyOrigin(); }); })