Spinta Agento atnaujinimas

Šiame puslapyje aprašyta, kaip atnaujinti jau įdiegtą Spinta Agentą iki naujausios versijos. Atnaujinimo būdas priklauso nuo to, kaip Agentas įdiegtas — naudojant Docker ar tiesiai operacinėje sistemoje.

Naujienos ir versijos

Naujienos apie Spinta Agento atnaujinimus skelbiamos data.gov.lt portale:

Detalus visų versijų pakeitimų sąrašas — CHANGES.rst.

Įspėjimas

Prieš atnaujinant peržiūrėkite pakeitimus — naujoje versijoje gali būti nesuderinamų (backwards incompatible) pakeitimų. Pavyzdžiui, nuo 0.2dev22 pasikeitė numatytoji access reikšmė (protected → open) — žr. Docker diegimas.

Prieš pradedant

  • Pasidarykite atsargines kopijas (konfigūracijos, o jei naudojamas vidinis backend’as — ir duomenų bazės).

  • Planuokite trumpą prastovą — atnaujinimo metu Agentas bus perkrautas, todėl darbus atlikite ne piko metu.

  • Pasižymėkite dabartinę versiją, kad galėtumėte palyginti po atnaujinimo.

Atnaujinimas naudojant Docker

Jei Agentas paleistas per docker compose (žr. Docker diegimas), iš katalogo su docker-compose.yml paleiskite:

# 1. Parsisiųskite naują atvaizdą iš Docker Hub
docker compose pull spinta

# 2. Perkurkite konteinerį su nauju atvaizdu
docker compose up -d

# 3. Paleiskite atnaujinimo skriptus
docker exec spinta spinta upgrade

# 4. Patikrinkite versiją ir žurnalą
docker exec spinta spinta --version
docker logs spinta

Pastaba

Oficialiame vssadevops/spinta atvaizde komanda spinta yra tiesiai PATH, todėl docker exec spinta spinta ... veikia be papildomų priešdėlių.

docker compose pull parsisiunčia tą versijos žymą, kuri nurodyta jūsų docker-compose.yml (latest = naujausia). Norėdami pereiti prie konkrečios versijos, faile pakeiskite žymą, pvz. vssadevops/spinta:0.2dev26, ir tik tada vykdykite pull.

Atsargiai

Jei jūsų docker-compose.yml command: naudoja poetry run (senesni, nestandartiniai diegimai) — nuo 0.2dev24 atvaizdas nebeturi Poetry, tad prieš docker compose up pašalinkite poetry run priešdėlius (pvz. poetry run uvicorn ... → uvicorn ...). Kitaip konteineris nepasileis su klaida poetry: command not found. Standartiniam diegimui (su startup.sh) tai netaikoma.

Atnaujinimas operacinėje sistemoje

Jei Agentas įdiegtas tiesiai operacinėje sistemoje (Python virtualioje aplinkoje env, žr. Diegimas OS):

# 1. Atnaujinkite paketus iš to paties pinned requirements šaltinio, kaip diegiant
env/bin/pip install --require-hashes -r https://raw.githubusercontent.com/atviriduomenys/spinta/refs/heads/master/requirements/spinta-latest-pre.txt

# 2. Paleiskite atnaujinimo skriptus
env/bin/spinta upgrade

# 3. Perkraukite Spinta servisą
sudo systemctl restart spinta

# 4. Patikrinkite būseną
systemctl status spinta

Kai servisas pasileidžia, versiją galima patikrinti per /version endpoint (žr. Diegimas OS).

Ką daro upgrade

spinta upgrade paleidžia atnaujinimo skriptus, kurie pritaiko vidinius pakeitimus tarp versijų (pvz. keymap ar konfigūracijos formato). Ką reikės atnaujinti, galima pamatyti iš anksto komanda spinta upgrade --check.

Pastaba

spinta migrate Agentui nereikalingas. Ši komanda taiko duomenų struktūros (schemos) pakeitimus tik vidinei saugyklai (internal režimas, pvz. PostgreSQL backend’as). Agentas duomenis teikia tiesiai iš išorinio šaltinio (external režimas), todėl vidinės saugyklos neturi ir migracijų nevykdo.