Он работает только с версией blazor 0.5+, поскольку GitLab использует Linux, и возникла проблема, связанная с копированием файлов из папки wwwroot на компьютере с Linux. (выпуск на гитхабе)

Если вы читаете этот пост, значит, вы уже знакомы с Blazor, если нет, то есть довольно замечательная статья, в которой ясно определяется blazor. Вкратце, согласно официальному репозиторию
Blazor — это экспериментальная веб-инфраструктура .NET, использующая C#/Razor и HTML, которая работает в браузере с помощью WebAssembly

Чтобы узнать больше о том, что такое blazor и обо всем, что с ним связано, посетите репозиторий Blazor GitHub, репозиторий awesome-blazor и сайт официальной документации.

Если у вас уже есть запущенное и работающее приложение blazor, вы можете продолжить, если нет, посетите официальную документацию, чтобы установить и настроить blazor на своем компьютере.

Ссылка на официальную документацию по началу работы с Blazor
Начало работы с Blazor

Когда вы разместите свое приложение blazor на своем GitLab или GitHub, оно будет рассматривать это как многостраничное приложение, и большая часть файла не будет найдена, и оно вернет файл 404, не найденный, когда браузер делает запрос на файлы, поэтому нам нужно 404.html в нашем корневом уровне файла рабочей сборки внутри папки dist, и нам также необходимо изменить наш index.html.

Шаг 1. Добавьте 404.html

Таким образом, в основном при запуске dotnet cli для создания файла сборки он также скопирует все из папки wwwroot в папку dist, поэтому мы создадим файл 404.html в папке wwwroot нашего проекта со следующим содержимым, чтобы он скопировал его в папку dist при запуске dotnet cli для публикации.

Шаг 2. Изменение файла index.html

Как я упоминал ранее, мы также должны изменить наш файл index.html. Добавьте следующий JavaScript в наш файл index.html чуть ниже

<app>Loading.. </app>

Теперь все настроено, наша файловая структура должна быть такой, как показано на изображении ниже.

после изменения нашего файла index.html, index.html должен быть таким.

Хостинг SPA на GitHub — это проект на GitHub, и мы используем эту технику проекта для размещения нашей страницы на GitLab.

До сих пор мы просто настраивали наше приложение blazor таким образом, что если мы запустим dotnet cli для публикации, оно также будет включать 404.html и измененный index.html в файл рабочей сборки.

Посетите здесь, чтобы узнать больше о размещении и публикации приложения blazor

Шаг 3. Добавьте gitlab-ci.yml на корневой уровень решения

теперь нам нужен один файл, который скажет GitLab build runner выполнить сборку, развертывание, тесты и все такое. Имя файла должно быть .gitlab-ci.yml, поместите этот файл на корневой уровень папки решения и сохраните файл со следующим содержимым.

в приведенном выше файле .gitlab-ci.yml.

в строке 9:мы используем dotnet cli для публикации файла сборки в папку output

в строке 11: мы копируем наши файлы в общедоступную папку и

(замените Blazor.CICD именем проекта)

в строке 14:мы говорим, что содержимое общедоступной папки необходимо развернуть.

зафиксируйте изменение, и GitLab запустит сборку, и после сборки мы сможем увидеть приложение blazor в реальном времени на ‹yourGitLabUserName›.gitab.io

ПРИМЕЧАНИЕ

Он работает только для репозитория с именем ‹yourGitLabUserName›.gitlab.io, он должен работать и для другого репозитория, но, к сожалению, это не так. Он всегда ищет такие файлы, как site.css, в yourGitLabUserName›.gitlab.io, на самом деле он должен искать в yourGitLabUserName›.gitlab.io. >yourGitLabUserName›.gitlab.io/‹repository_name›

Не стесняйтесь комментировать и предлагать изменения.

Полный исходный код на GitLab

Удачного кодирования!