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.
web/README.md

71 lines
2.2 KiB
Markdown

4 years ago
# 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.
4 years ago
## Dokumentace
- [Zola](https://www.getzola.org/documentation/) (generátor)
- [Tera](https://tera.netlify.app/docs/) (template engine)
- [CommonMark](https://commonmark.org/help/) (markdown syntax)
3 years ago
### Odkazy na použité technologie
3 years ago
- [Zola](https://github.com/getzola/zola/releases/) (releases in GitHub)
- [Remix Icon](https://remixicon.com)
- [Remix Icon](https://github.com/Remix-Design/RemixIcon) (GitHub)