
рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдореИрдВ рдмреНрд▓реЗрдЬрд╝рд░ рдкрд░ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реВрдВред рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП CI / CD рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ред рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд┐рд▓реНрд▓реА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рд╕рд╛рдордЧреНрд░реА
рд╕рдВрджрд░реНрдн
рд╕реНрд░реЛрдд рдХреЛрдбрдбреЙрдХрдЯрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдЫрд╡рд┐рдпрд╛рдВDockerfile
рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдРрд╕реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдбреЙрдХрдлрд╝рд┐рд▓реЗ рдХреЛ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдмреНрд▓реЗрдЬрд╝рд░ рдкрд░ рд╣рдорд╛рд░реЗ рдПрд╕рдкреАрдП рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдЧрд╛

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build WORKDIR /src COPY ["src/BlazorEShop.Spa.BlazorWasm/Server/BlazorEShop.Spa.BlazorWasm.Server.csproj", "src/BlazorEShop.Spa.BlazorWasm/Server/"] COPY ["src/BlazorEShop.Spa.BlazorWasm/Client/BlazorEShop.Spa.BlazorWasm.Client.csproj", "src/BlazorEShop.Spa.BlazorWasm/Client/"] RUN dotnet restore "src/BlazorEShop.Spa.BlazorWasm/Server/BlazorEShop.Spa.BlazorWasm.Server.csproj" COPY . . WORKDIR "/src/src/BlazorEShop.Spa.BlazorWasm/Server" RUN dotnet build "BlazorEShop.Spa.BlazorWasm.Server.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "BlazorEShop.Spa.BlazorWasm.Server.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "BlazorEShop.Spa.BlazorWasm.Server.dll"]
Gitlab рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдирд╛
рд╣рдорд╛рд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕реЗрдЯрд┐рдВрдЧ -> CI / CD рд╕реЗрдХреНрд╢рди рдореЗрдВ рдЬрд╛рдПрдВред рдФрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ

- CI_REGISTRY_PATH - рд╣рдорд╛рд░реА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХрд╛ рдкрде (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВред Hub.docker.com/victorcallidus)
- CI_REGISTRY_USER - рд╣рдорд╛рд░рд╛ рдкреБрди: рдЦрд╛рддрд╛
- CI_REGISTRY_PASSWORD - рд╣рдорд╛рд░реЗ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдЦрд╛рддреЗ рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб
рдЧрд┐рдЯрд▓рдм рд╕реАрдЖрдИ / рд╕реАрдбреА
рд╣рдо рд╕рд╛рдЭрд╛ рдзрд╛рд╡рдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдРрд╕реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде .itlab-ci.yml рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
image: docker:19.03.1 variables: DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" BLAZOR_SPA_LATEST: ${CI_REGISTRY_PATH}blazor-eshop-spa-blazor:latest BLAZOR_SPA_IMG_TAG: ${CI_REGISTRY_PATH}blazor-eshop-spa-blazor:$CI_COMMIT_REF_SLUG services: - docker:19.03.1-dind stages: - deploy_latest - deploy_tag - test deploy_tag: stage: deploy_tag script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY_PATH - docker build -t $BLAZOR_SPA_IMG_TAG -f ./src/BlazorEShop.Spa.BlazorWasm/Server/Dockerfile . - docker push $BLAZOR_SPA_IMG_TAG only: - tags deploy_latest: stage: deploy_latest script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY_PATH - docker build -t $BLAZOR_SPA_LATEST -f ./src/BlazorEShop.Spa.BlazorWasm/Server/Dockerfile . - docker push $BLAZOR_SPA_LATEST only: - master test: image: mcr.microsoft.com/dotnet/core/sdk:3.1-buster stage: test script: - "dotnet test ./BlazorEShop.sln"
CI_COMMIT_REF_SLUG - рдпрд╣ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреЛ рдХрд┐ рдЧреАрддрд╛рд▓рд╛рдм рдЦреБрдж рднрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╣реИ, рддреЛ рд╢рд╛рдЦрд╛ (рдорд╛рд╕реНрдЯрд░, рджреЗрд╡, рдордВрдЪ, рдЖрджрд┐) рдХрд╛ рдирд╛рдо рдпрд╣рд╛рдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ; рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЯреИрдЧ рдХреЛ рдзрдХреНрдХрд╛ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЯреИрдЧ рдирд╛рдо рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк dev11 рдЯреИрдЧ рдХреЛ рдзрдХреНрдХрд╛ рджреЗрддреЗ рд╣реИрдВ, рддреЛ CI_COMMIT_REF_SLUG = dev11ред
рдбреЙрдХрд░-рд░рдЪрдирд╛ рд╕реЗрдЯрдЕрдк рдЙрджрд╛рд╣рд░рдг
Docker-compose.yml рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдРрд╕реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
version: '3.4' services: blazoreshop.spa.blazorwasm.server: image: victorcallidus/blazor-eshop-spa-blazor:latest environment: - ASPNETCORE_ENVIRONMENT=Production - ASPNETCORE_URLS=https://+:443;http://+:80 - ASPNETCORE_HTTPS_PORT=8003 - ASPNETCORE_Kestrel__Certificates__Default__Password=1234Qwert - ASPNETCORE_Kestrel__Certificates__Default__Path=/root/.aspnet/https/blazor-eshop-spa-blazor.pfx - SsoUri=https://localhost:8000 - ApiUri=https://localhost:8001 ports:
рдзрдиреНрдпрд╡рд╛рдж
рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж
ilekarevrussianssamovarkxlAlexNisрд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд╛рдИ рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП