В предыдущих реинкарнациях этот сайт уже бывал запущен в виде html файлов за nginx, статического сайта на s3 и даже в
виде сайта в ipfs. В этот раз попробую разместить его
на Cloudflare pages. Будем маленький туториал, а заодно и оценю сложность
этого размещения.
Подключаем репозиторий Gitlab к Cloudflare
Первым делом мы переходим на страницу через меню Compute, далее Workers & Pages:

На странице нужно выбрать Create application:

Создаем Cloudflare pages
Для создания нужно выбрать не сильно заметную ссылку внизу Continue to Pages:

А на открывшейся странице Import an existing Git repository:

Тут нужно будет подключить Gitlab (в моем случае, либо GitHub, если нужно) и выбрать соответствующий репозиторий. Для упрощения, есть окошко с поиском:

Настройка сборки
Далее нужно настроить сборку. Я беру команду из своего .gitlab-ci.yml и немного ее правлю, так как домен будет
доступен в переменной окружения при вызове сборки:

Вот такая команда сборки у меня получается:
| |
Больше ничего не меняю, для сборки выбрал ветку main, именно в ней лежит готовый к проду сайт.
Отладка билда
Первый билд у меня завершился с ошибкой. В выводе есть возможность посмотреть лог и/или скачать его. Основная ошибка, как видно на скрине, это недостаточная версия Hugo.

Нужную версию можно “зафиксировать” через переменную окружения HUGO_VERSION:

Версию вписываем именно числовую, так как при сборке ссылка сама будет сформирована на extended версию. В
моем случае на сейчас, это версия 0.164.0. Только числом, без дополнительных v или extended.
Сборка и загрузка
После удачной сборки, будет выполнена загрузка файлов:

И вот сообщение, что сайт доступен на специальном поддомене:

Gitlab
В интерфейсе Gitlab Pipeline так же будет указан отдельный блок, который по клику будет вести в сборочный процесс на Cloudflare:

Cloudflare pages
В интерфейсе Cloudflare pages будет присутствовать информация о пройденных сборках и доступных тех доменах:

Так же тут можно привязать свой домен, так как он уже был на Cloudflare, то его замена происходит в пару кликов:

А в настройках поменять или поправить то, что настраивалось по шагам в мастере:

Что получаем в итоге
Теперь выкладывая эту запись, не придется ничего делать. Нужно только подождать, когда Cloudflare pages соберут с нуля Hugo сайт и зальют на тех домен. Так же это работает для не основной ветки, то есть можно посмотреть “preview” на отдельном техническом домене:

Который будет реально доступен:

Но тут нужно быть внимательным! ТЕХНИЧЕСКИЕ ДОМЕНЫ НЕ УДАЛЯЮТСЯ САМИ ПО СЕБЕ. Поэтому нужно либо добавить их удаление через CI GitLab, либо руками удалять их Cloudflare pages.