lapej2ap 68d11bde38 | 2 years ago | |
---|---|---|
.vscode | 3 years ago | |
content | 2 years ago | |
pages.old | 3 years ago | |
sass | 3 years ago | |
static | 3 years ago | |
templates | 3 years ago | |
.gitignore | 4 years ago | |
README.md | 3 years ago | |
config.toml | 3 years ago |
README.md
Webové stránky KITTV
Stránky jsou postavené na generátoru Zola.
Instalace generátoru
Instalaci generátoru lze provést z oficiálních repozitářů systému, nebo manuální kompilací. Ke kompilaci je třeba mít připravený rust toolchain, respektive nainstalované cargo
.
git clone https://github.com/getzola/zola
cd zola
cargo build --release
cp target/release/zola /usr/local/bin/
Vývoj a generování
Pro testování a vývoji na lokálním web serveru stačí spustit zola serve
. Ke stránkám pak lze přistupovat na adrese http://127.0.0.1:1111/
nebo http://localhost:1111/
. Zola sleduje změny a automaticky provádí regeneraci obsahu.
Pro vygenerování statického obsahu (pro nasazení na web server) je třeba spustit zola build
. Výsledný obsah je uložen do složky public
.
Deployment
Z tohoto repozitáře (master branch) je nastaven automatický deployment na webserver. V tuto chvíli neprobíhá kontrola kódu a spoléhá se na to, že commitnutý kód je validní.
Repozitář má nastaven post-receive hook:
#!/bin/sh
nohup ash -c ' \
eval "$(ssh-agent -s)" && \
ssh-add -t 60 ~/.ssh/id_repository && \
ssh gitea@it-new.pedf.cuni.cz "/home/gitea/deployment.sh" && \
trap "ssh-agent -k" EXIT \
' > /dev/null 2>&1 &
echo "Automatic deployment started."
Ten na serveru spouští skript deployment.sh
:
#!/bin/sh
eval "$(ssh-agent -s)" && \
ssh-add -t 60 ~/.ssh/id_deploy && \
git clone gitea@git.microlab.space:kittv/web.git kittv-web && \
zola -r ~/kittv-web/ build && \
rsync -r ~/kittv-web/public/* /home/www/web-kittv/ && \
trap "ssh-agent -k" EXIT
date >> ~/deployment_log.txt
rm -rf ~/kittv-web
Přístup do repozitáře je ověřován pomocí tzv. deploy keys, tedy SSH klíčem.
Dokumentace
- Zola (generátor)
- Tera (template engine)
- CommonMark (markdown syntax)
Odkazy na použité technologie
- Zola (releases in GitHub)
- Remix Icon
- Remix Icon (GitHub)