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:
Programinės įrangos atnaujinimai — bendros naujienos apie Spinta ir Katalogo atnaujinimus. Verta sekti abu.
Spintos atnaujinimai — konkrečiai Spinta atnaujinimų naujienos.
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.