Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2a1da643c1 |
@@ -0,0 +1,2 @@
|
|||||||
|
mkdocs-material==9.6.14
|
||||||
|
mkdocs-same-dir==0.1.3
|
||||||
Executable
+31
@@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
readonly venv_dir="/var/lib/gitea-runner/venvs/site"
|
||||||
|
|
||||||
|
if [[ $# -ne 1 ]]; then
|
||||||
|
echo "Usage: $0 SOURCE_DIR" >&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
source_dir=$(realpath "$1")
|
||||||
|
requirements_file="${source_dir}/.gitea/requirements-site.txt"
|
||||||
|
|
||||||
|
if [[ ! -f $requirements_file ]]; then
|
||||||
|
echo "Requirements file not found: ${requirements_file}" >&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$(dirname "$venv_dir")"
|
||||||
|
if [[ ! -x "${venv_dir}/bin/python" ]]; then
|
||||||
|
python3 -m venv "$venv_dir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
"${venv_dir}/bin/python" -m pip install \
|
||||||
|
--disable-pip-version-check \
|
||||||
|
--no-input \
|
||||||
|
--requirement "$requirements_file"
|
||||||
|
"${venv_dir}/bin/python" -m pip check
|
||||||
|
cd "$source_dir"
|
||||||
|
"${venv_dir}/bin/python" -m mkdocs build --strict
|
||||||
@@ -31,16 +31,7 @@ jobs:
|
|||||||
git -C source -c advice.detachedHead=false checkout --detach FETCH_HEAD
|
git -C source -c advice.detachedHead=false checkout --detach FETCH_HEAD
|
||||||
|
|
||||||
- name: Build the site strictly
|
- name: Build the site strictly
|
||||||
run: |
|
run: source/.gitea/scripts/build-site.sh source
|
||||||
set -euo pipefail
|
|
||||||
cd source
|
|
||||||
python3 -m venv .venv
|
|
||||||
.venv/bin/python -m pip install \
|
|
||||||
--disable-pip-version-check \
|
|
||||||
--no-input \
|
|
||||||
'mkdocs-material==9.6.14' \
|
|
||||||
'mkdocs-same-dir==0.1.3'
|
|
||||||
.venv/bin/python -m mkdocs build --strict
|
|
||||||
|
|
||||||
- name: Publish the complete release atomically
|
- name: Publish the complete release atomically
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
- Пользователь сервиса: `gitea-runner`, без `sudo` и Docker.
|
- Пользователь сервиса: `gitea-runner`, без `sudo` и Docker.
|
||||||
- Корень публикации: `/srv/de-roadmap`.
|
- Корень публикации: `/srv/de-roadmap`.
|
||||||
- Хранение: текущий релиз и две предыдущие версии.
|
- Хранение: текущий релиз и две предыдущие версии.
|
||||||
|
- Окружение сборки: `/var/lib/gitea-runner/venvs/site`.
|
||||||
|
|
||||||
## Подготовка VPS
|
## Подготовка VPS
|
||||||
|
|
||||||
@@ -126,6 +127,13 @@ curl --header 'Host: de.dementev.space' http://127.0.0.1/
|
|||||||
После локальной проверки разрешить профили `Nginx Full` в UFW. До этого
|
После локальной проверки разрешить профили `Nginx Full` в UFW. До этого
|
||||||
публичные порты `80/tcp` и `443/tcp` должны оставаться закрытыми.
|
публичные порты `80/tcp` и `443/tcp` должны оставаться закрытыми.
|
||||||
|
|
||||||
|
## Окружение сборки
|
||||||
|
|
||||||
|
Скрипт `.gitea/scripts/build-site.sh` создаёт persistent venv при первом запуске
|
||||||
|
и переиспользует его в следующих сборках. `pip install` выполняется каждый раз,
|
||||||
|
чтобы применить изменения `.gitea/requirements-site.txt`, но уже установленные
|
||||||
|
версии пакетов не переустанавливаются.
|
||||||
|
|
||||||
## DNS и TLS
|
## DNS и TLS
|
||||||
|
|
||||||
1. Уменьшить TTL записи `de.dementev.space`.
|
1. Уменьшить TTL записи `de.dementev.space`.
|
||||||
|
|||||||
Reference in New Issue
Block a user