You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.2 KiB
Markdown
71 lines
2.2 KiB
Markdown
# Webové stránky KITTV
|
|
|
|
Stránky jsou postavené na generátoru [Zola](https://www.getzola.org/).
|
|
|
|
## 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:
|
|
|
|
```sh
|
|
#!/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`:
|
|
|
|
```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](https://www.getzola.org/documentation/) (generátor)
|
|
- [Tera](https://tera.netlify.app/docs/) (template engine)
|
|
- [CommonMark](https://commonmark.org/help/) (markdown syntax)
|
|
|
|
### Odkazy na použité technologie
|
|
|
|
- [Zola](https://github.com/getzola/zola/releases/) (releases in GitHub)
|
|
- [Remix Icon](https://remixicon.com)
|
|
- [Remix Icon](https://github.com/Remix-Design/RemixIcon) (GitHub)
|