commit ec13b6de0bd1672acd83c6b5d0dc74b8a71a39b4 Author: Jakub Žáček Date: Wed May 21 13:23:37 2025 +0200 Initial Blazor Server Drone demo diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..7c124aa --- /dev/null +++ b/.drone.yml @@ -0,0 +1,26 @@ +kind: pipeline +type: docker +name: default + +steps: + - name: docker-build + image: plugins/docker + settings: + repo: registry.example.com/myblazorapp + tags: latest + dockerfile: Dockerfile + username: your_registry_username + password: your_registry_password + + - name: deploy + image: appleboy/drone-ssh + settings: + host: your-server.cz + username: deploy_user + key: + from_secret: ssh_private_key + script: + - docker pull registry.example.com/myblazorapp:latest + - docker stop myblazorapp || true + - docker rm myblazorapp || true + - docker run -d --name myblazorapp -p 8080:80 registry.example.com/myblazorapp:latest diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ab5369f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +WORKDIR /src +COPY MyBlazorApp/ ./MyBlazorApp/ +WORKDIR /src/MyBlazorApp +RUN dotnet publish -c Release -o /app/publish + +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime +WORKDIR /app +COPY --from=build /app/publish . +ENTRYPOINT ["dotnet", "MyBlazorApp.dll"] + diff --git a/MyBlazorApp/App.razor b/MyBlazorApp/App.razor new file mode 100644 index 0000000..f24e7e6 --- /dev/null +++ b/MyBlazorApp/App.razor @@ -0,0 +1,9 @@ + + + + + +

Page not found

+
+
+ diff --git a/MyBlazorApp/MyBlazorApp.csproj b/MyBlazorApp/MyBlazorApp.csproj new file mode 100644 index 0000000..2a03218 --- /dev/null +++ b/MyBlazorApp/MyBlazorApp.csproj @@ -0,0 +1,6 @@ + + + net8.0 + + + diff --git a/MyBlazorApp/Pages/Index.razor b/MyBlazorApp/Pages/Index.razor new file mode 100644 index 0000000..d4c7c2c --- /dev/null +++ b/MyBlazorApp/Pages/Index.razor @@ -0,0 +1,3 @@ +@page "/" + +

Hello, Blazor world!

diff --git a/MyBlazorApp/Pages/_Host.cshtml b/MyBlazorApp/Pages/_Host.cshtml new file mode 100644 index 0000000..5bae1b1 --- /dev/null +++ b/MyBlazorApp/Pages/_Host.cshtml @@ -0,0 +1,23 @@ +@page "/" +@namespace MyBlazorApp.Pages +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@{ + Layout = null; +} + + + + + + + Hello Blazor + + + + + + + + + + diff --git a/MyBlazorApp/Program.cs b/MyBlazorApp/Program.cs new file mode 100644 index 0000000..8416a12 --- /dev/null +++ b/MyBlazorApp/Program.cs @@ -0,0 +1,18 @@ +using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components.Web; + +var builder = WebApplication.CreateBuilder(args); +builder.Services.AddRazorPages(); +builder.Services.AddServerSideBlazor(); +var app = builder.Build(); + +if (!app.Environment.IsDevelopment()) +{ + app.UseExceptionHandler("/Error"); +} +app.UseStaticFiles(); +app.UseRouting(); +app.MapBlazorHub(); +app.MapFallbackToPage("/_Host"); +app.Run(); + diff --git a/MyBlazorApp/_Imports.razor b/MyBlazorApp/_Imports.razor new file mode 100644 index 0000000..fea7551 --- /dev/null +++ b/MyBlazorApp/_Imports.razor @@ -0,0 +1,9 @@ +@using System.Net.Http +@using Microsoft.AspNetCore.Components +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using MyBlazorApp +