# zdc-tools

Obsahuje skripty pre vytvorenie a konfiguráciu lokálnej VM prostredníctvom [multipass.run](https://multipass.run) aplikácie.


## Predpoklady

- Nainštalovaná aplikácia [multipass.run](https://multipass.run)
- Nainštalovaný git
- Vygenerovaný ssh kľúč (id_rsa)

## Inicializácia
Stiahnutie skriptov a konfiguračných súborov do cieľového adresára `<WORKING_DIR>`.

```bash
git clone https://gitea.egroup.sk/development/zdc-tools --depth 1 --branch master <WORKING_DIR>/zdc-tools
```

### Nastavenie oprávnení

```bash
cd <WORKING_DIR>/zdc-tools
chmod +x *.sh

```

## Vytvorenie a konfigurácia VM

### Popis skriptu
Pri prvom spustení `vm-create.sh` sa stiahne používaný image (Ubuntu 18.04 LTS).
Následne skript prostredníctvom aplikácie `multipass` inicializuje virtuálny server prostredníctvom `./cloud-init/zdc-odoo-init.yaml` súboru.

Prostrednícvom skriptu sú príkazmi `multipass exec` konfigurované jednotlivé časti prostredia:
- python venv
- stiahne zdc-odoo repozitár
- vytvorí databázu podľa šablóny

### Parametre skriptu
- `<VM_NAME>` - názov virtuálneho servera


### Spustenie skriptu
```bash
./vm-create.sh <VM_NAME>

```

## Vytvorenie novej databázy

### Popis skriptu
Skript `vm-db-create.sh` umožňuje vytvoriť novú databázu zo šablóny.

### Parametre skriptu
- `<VM_NAME>` - názov existujúceho virtuálneho servera
- `<DB_NAME>` - názov novej databázy

### Spustenie skriptu
```bash
./vm-db-create.sh <VM_NAME> <DB_NAME>

```

## Aktualizácia kódu platformy z gitea repozitára

### Popis skriptu
Skript `vm-zdc-update.sh` umožňuje aktualizovať existujúce inštalácie **zdc-core-addons** a **zdc-oca-addons** z gitea repozitára.  

### Parametre skriptu
- `<VM_NAME>` - názov existujúceho virtuálneho servera

### Spustenie skriptu
```bash
./vm-zdc-update.sh <VM_NAME>

```

## Aktualizácia development z gitea repozitára

### Popis skriptu
Pri novej inštalácii sa vývojový adresár inicializuje z **master** vetvy. Skript `vm-dev-update.sh` umožňuje aktualizovať vývojový adresár z **dev** vetvy gitea repozitára.  Pri vývoji si každý vývojár vytvorí vlastnú vetvu, v ktorej priebežne zapisuje svoje zmeny a následne  ju spojí do **dev** vetvy. Spojenie do **master** vetvy môže potvrdiť len administrátor.

### Parametre skriptu
- `<VM_NAME>` - názov existujúceho virtuálneho servera

### Interné premenné
Slúžia na vlastné prispôsobenie skriptu pre nastavenie aktuálne používaného repozitára pre vývoj.
- `<DEV_REPO>` - názov používaného repozitára pre vývoj
- `<DEV_BRANCH>` - názov používanej vetvy (branch)

### Spustenie skriptu
```bash
./vm-dev-update.sh <VM_NAME>

```
