Update for build & deploy process

This commit is contained in:
Khajonpot
2020-02-20 21:26:40 +07:00
parent 8b98125e49
commit 815f38a289
5 changed files with 36 additions and 9 deletions

View File

@@ -9,9 +9,6 @@ RUN dotnet restore
COPY . ./ COPY . ./
RUN dotnet publish -c Release -o out RUN dotnet publish -c Release -o out
ENV ASPNETCORE_ENVIRONMENT=Staging
RUN ["dotnet","ef","database","update"]
# Build runtime image # Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app WORKDIR /app

View File

@@ -9,9 +9,6 @@ RUN dotnet restore
COPY . ./ COPY . ./
RUN dotnet publish -c Release -o out RUN dotnet publish -c Release -o out
ENV ASPNETCORE_ENVIRONMENT=Production
RUN ["dotnet","ef","database","update"]
# Build runtime image # Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app WORKDIR /app

View File

@@ -32,7 +32,14 @@ namespace Test01
.AddJsonFile("appsettings.json", optional: false) .AddJsonFile("appsettings.json", optional: false)
.Build(); .Build();
var enableSeedApplicationDb = Convert.ToBoolean(config.GetSection("EnableSeedApplicationDb").Value); var enableMigration = Environment.GetEnvironmentVariable("MIGRATION");
if (!string.IsNullOrEmpty(enableMigration))
{
MigrationData.EnsureMigration(host.Services);
}
var enableSeedApplicationDb = Convert.ToBoolean(config.GetSection("EnableSeedApplicationDb").Value);
//SeedData.EnsureSeedData(host.Services, enableSeedApplicationDb); //SeedData.EnsureSeedData(host.Services, enableSeedApplicationDb);

View File

@@ -67,4 +67,21 @@ namespace TestAPI01.Seed
return Path.Combine(currentDir, filePath); return Path.Combine(currentDir, filePath);
} }
} }
public class MigrationData
{
public static void EnsureMigration(IServiceProvider serviceProvider)
{
Console.WriteLine("Migrate database...");
using (var scope = serviceProvider.GetRequiredService<IServiceScopeFactory>().CreateScope())
{
var context = scope.ServiceProvider.GetService<DataContext>();
context.Database.Migrate();
}
Console.WriteLine("Done.");
Console.WriteLine();
}
}
} }

View File

@@ -52,8 +52,17 @@ namespace Test01
// Test jenkins // Test jenkins
public void ConfigureServices(IServiceCollection services) public void ConfigureServices(IServiceCollection services)
{ {
string connectionString = Configuration.GetConnectionString("mainDBConnectionString"); var DB_HOST = Environment.GetEnvironmentVariable("DB_HOST");
string idUrl = Configuration["IdentityServer:url"]; var DB_PORT = Environment.GetEnvironmentVariable("DB_PORT");
var DB_NAME = Environment.GetEnvironmentVariable("DB_NAME");
var DB_USERNAME = Environment.GetEnvironmentVariable("DB_USERNAME");
var DB_PASSWORD = Environment.GetEnvironmentVariable("DB_PASSWORD");
var envConnectionString = $"Server={DB_HOST};Port={DB_PORT};Database={DB_NAME};User ID={DB_USERNAME};Password={DB_PASSWORD};";
string connectionString = !string.IsNullOrEmpty(DB_HOST) ? envConnectionString : Configuration.GetConnectionString("mainDBConnectionString");
string idUrl = Configuration["IdentityServer:url"];
string apiName = Configuration["IdentityServer:apiName"]; string apiName = Configuration["IdentityServer:apiName"];
string appsite = Configuration["SiteInformation:appsite"]; string appsite = Configuration["SiteInformation:appsite"];