Добавил поддержку CI
All checks were successful
Create and publish a Docker image / build-and-push-image (push) Successful in 28s

This commit is contained in:
Sergey Karmanov 2023-07-30 01:51:17 +03:00
parent ad6e10250b
commit 247f0fcd56
Signed by: serega404
GPG Key ID: B6AD49C8C835460C
3 changed files with 51 additions and 4 deletions

View File

@ -0,0 +1,41 @@
name: Create and publish a Docker image
on:
push:
branches: ['main']
env:
REGISTRY: git.zetcraft.ru
jobs:
build-and-push-image:
runs-on: ubuntu-latest
container: catthehacker/ubuntu:act-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.REGISTRY }}
username: ${{ gitea.actor }}
password: ${{ secrets.TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: https://github.com/docker/metadata-action@v4
with:
images: ${{ env.REGISTRY }}/${{ gitea.repository }}
- name: Build and push Docker image
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
with:
context: PaydayFrontend
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

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 ["PaydayFrontend/PaydayFrontend.csproj", "PaydayFrontend/"] COPY ["PaydayFrontend.csproj", "PaydayFrontend.csproj"]
RUN dotnet restore "PaydayFrontend/PaydayFrontend.csproj" RUN dotnet restore "PaydayFrontend.csproj"
COPY . . COPY . .
WORKDIR "/src/PaydayFrontend" WORKDIR "/src"
RUN dotnet build "PaydayFrontend.csproj" -c Release -o /app/build RUN dotnet build "PaydayFrontend.csproj" -c Release -o /app/build
FROM build AS publish FROM build AS publish
RUN dotnet publish "PaydayFrontend.csproj" -c Release -o /app/publish /p:UseAppHost=false RUN dotnet publish "PaydayFrontend.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", "PaydayFrontend.dll"] ENTRYPOINT ["dotnet", "PaydayFrontend.dll"]

View File

@ -12,6 +12,10 @@
<None Update="app.db" CopyToOutputDirectory="PreserveNewest" ExcludeFromSingleFile="true" /> <None Update="app.db" CopyToOutputDirectory="PreserveNewest" ExcludeFromSingleFile="true" />
</ItemGroup> </ItemGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<NoWarn>1701;1702;IL2121,1591</NoWarn>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="7.0.9" /> <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="7.0.9" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="7.0.9" /> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="7.0.9" />