Добавил поддержку Docker

This commit is contained in:
Sergey Karmanov 2023-07-29 08:25:54 +03:00
parent 6dcfdf3547
commit 4617d6ffa3
Signed by: serega404
GPG Key ID: B6AD49C8C835460C
3 changed files with 21 additions and 6 deletions

View File

@ -27,11 +27,20 @@ public class AdminController : ControllerBase
return Ok(); return Ok();
} }
/// <summary>
/// Получение всех банков
/// </summary>
[HttpGet("banks")]
public async Task<ActionResult> GetBanks()
{
return Ok(await _adminService.GetAllBanks());
}
/// <summary> /// <summary>
/// Получение всех условий одного банка по id /// Получение всех условий одного банка по id
/// </summary> /// </summary>
/// <response code="400">Банк не найден</response> /// <response code="400">Банк не найден</response>
[HttpGet("banks")] [HttpGet("banks/{bankId}/loanterms")]
public async Task<ActionResult> GetAllLoanTermsByBankId(long bankId) public async Task<ActionResult> GetAllLoanTermsByBankId(long bankId)
{ {
var result = await _adminService.GetAllLoanTermsByBankId(bankId); var result = await _adminService.GetAllLoanTermsByBankId(bankId);
@ -56,7 +65,7 @@ public class AdminController : ControllerBase
/// Удаление ВСЕХ условий кредитования /// Удаление ВСЕХ условий кредитования
/// </summary> /// </summary>
/// <response code="400">Банк не найден</response> /// <response code="400">Банк не найден</response>
[HttpGet("banks/{bank_id}/loanterms")] [HttpDelete("banks/{bank_id}/loanterms")]
public async Task<ActionResult> AddLoanTerm(long bankId) public async Task<ActionResult> AddLoanTerm(long bankId)
{ {
var result = await _adminService.RemoveAllLoanTermsByBankId(bankId); var result = await _adminService.RemoveAllLoanTermsByBankId(bankId);

View File

@ -1,20 +1,22 @@
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app WORKDIR /app
EXPOSE 80 EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src WORKDIR /src
COPY ["PaydayBackend/PaydayBackend.csproj", "PaydayBackend/"] COPY ["PaydayBackend.csproj", "PaydayBackend.csproj"]
RUN dotnet restore "PaydayBackend/PaydayBackend.csproj" RUN dotnet restore "PaydayBackend.csproj"
COPY . . COPY . .
WORKDIR "/src/PaydayBackend" WORKDIR "/src"
RUN dotnet build "PaydayBackend.csproj" -c Release -o /app/build RUN dotnet build "PaydayBackend.csproj" -c Release -o /app/build
FROM build AS publish FROM build AS publish
RUN dotnet publish "PaydayBackend.csproj" -c Release -o /app/publish /p:UseAppHost=false RUN dotnet publish "PaydayBackend.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final FROM base AS final
RUN apt-get update && apt-get install -y curl
WORKDIR /app WORKDIR /app
HEALTHCHECK --interval=5s --timeout=10s --retries=3 CMD curl --fail http://localhost:80/health || exit 1
COPY --from=publish /app/publish . COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "PaydayBackend.dll"] ENTRYPOINT ["dotnet", "PaydayBackend.dll"]

View File

@ -20,6 +20,10 @@
<PackageReference Include="AspNetCore.HealthChecks.NpgSql" Version="6.0.2" /> <PackageReference Include="AspNetCore.HealthChecks.NpgSql" Version="6.0.2" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.9" /> <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.9" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Minio" Version="5.0.0" /> <PackageReference Include="Minio" Version="5.0.0" />
<PackageReference Include="Minio.AspNetCore" Version="5.0.0" /> <PackageReference Include="Minio.AspNetCore" Version="5.0.0" />
<PackageReference Include="Minio.AspNetCore.HealthChecks" Version="5.0.0" /> <PackageReference Include="Minio.AspNetCore.HealthChecks" Version="5.0.0" />