Pāriet uz saturu

Versiju izlaišana

Pieredzējušiem

Pārvērt pārbaudītu būvējumu versijā. Šī lapa ir domāta uzturētājiem.

  • Visas pārbaudes no Testēšana ir izietas, tostarp pilna end-to-end palaišana un garās un kļūmju palaišanas.
  • CHANGELOG.md satur jauno versiju.
  • Izlaišanas skriptiem ir uzstādīts Python 3.
  1. Uzraksti releases/notes-<version>.toml, piemēram, releases/notes-1.0.0.toml. Skaties Versijas piezīmju fails.

  2. Pārbaudi to:

    Terminal window
    python deploy/release/notes.py 1.0.0 --check

    Tev nevajadzētu redzēt kļūdas. Aizliegts vārds, garā domuzīme, datums, runa par palaišanu vai atkārtots izcēlums beidzas ar izejas kodu 1.

  3. Uzbūvē versijas tekstus:

    Terminal window
    python deploy/release/notes.py 1.0.0

    Mapē releases/out/1.0.0/ tev vajadzētu atrast 7 failus.

  4. Uzbūvē attēlu un palaid to ar svaigu konfigurācijas mapi:

    Terminal window
    docker build --file deploy/Dockerfile .

    Tev vajadzētu redzēt pirmās palaišanas vedni.

  5. Palaid visas pārbaudes no Testēšana savā datorā. Testi darbojas lokāli, nevis GitHub.

  6. Nodod versiju uzturētājam. Uzturētājs nosūta versijas birku uz main, un tas sāk izlaišanu.

Versiju un birku nosaukumi

Saite uz Versiju un birku nosaukumi
Lieta Nosaukums
Git birka (nosūta uzturētājs) 1.0.0 (vienkārši cipari, bez v)
Attēla birka un piezīmju version 1.0.0

Darbplūsma sākas tikai X.Y.Z birkai un apstājas, ja birka atšķiras no faila VERSION.

Katra versija nosūta savu versijas birku un :latest.

  1. Nosūti nākamo versiju ar labojumu.
  2. Atzīmē sliktu versiju atjauninājumu sarakstā, lai uzstādījumi to nepiedāvā.
  3. Saglabā birku.

Simptoms. notes.py --check beidzas ar izejas kodu 1. Cēlonis. Piezīmju fails pārkāpj noteikumu. Ziņojumā ir minēta rinda. Risinājums. Labo piezīmju failu, nekad nelabo failus mapē releases/out, un palaid vēlreiz.

Simptoms. Darbplūsma apstājas ar VERSION says. Cēlonis. Birka un fails VERSION atšķiras. Risinājums. Salabo VERSION uz main un nosūti nākamo versijas birku.

Versijas piezīmju fails

Katrs versijas teksts rodas no viena faila. Nekad nelabo ar roku to, ko tas uzbūvē.

Lauks Saturs
version Vienkārši X.Y.Z
theme Viena rinda
images Saraksts ar {registry, name}. Tikai Docker Hub holyarrs/holyarrs
docs_url Neobligāts. Tukšs nozīmē, ka nav saites uz dokumentāciju
[[highlights]] Tieši 3, katrs ar line, issues un shot. To problēmas neparādās nevienā grupas rindā
[groups] Rindas katrai vietai. Jauns ir noklusējums. Pārējās sākas ar Changed: , Fixed: vai Docs: . Katra beidzas ar savu problēmu, piemēram, (#46). Vieta ar mazāk nekā 3 rindām nonāk zem Also new
Neobligāti [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Tukšās daļas tiek paslēptas

GitHub lietotājvārdu lieto tikai tad, ja tas ir zināms, piezīmju failā vai releases/credits-map.json.

Teksta secība: tēma, Highlights, vietas (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, statistikas rinda.

Izvade mapē releases/out/<version>/ Kam lieto
changelog.md Izmaiņu žurnāla ieraksts
github.md GitHub versijas teksts
update-notes.json Piezīmes, ko rāda lietotne
reddit.txt Reddit ieraksts
discord-dm.txt, discord-announce.md Discord. Katrs paliek zem 1000 rakstzīmēm
roadmap-card.json Ceļveža kartīte

notes.py pieņem --file (cits piezīmju fails), --map (cita pateicību karte), --out (cita izvades mape) un --date. --check brīdina par garām rindām un gandrīz atkārtojumiem.

Attēla darbplūsma

Darbplūsma HolyArrs - Release sākas, kad tiek nosūtīta versijas birka. Tai ir trīs soļi:

  1. Uzbūvē un nosūta attēlu platformām linux/amd64, linux/arm64 un linux/arm/v7 ar versijas birku un latest.
  2. Atjaunina Docker Hub aprakstu no README.md.
  3. Publicē GitHub versiju ar šīs versijas CHANGELOG.md sadaļu.
Atjauninājumu saraksts

Lietotne nolasa parakstītu atjauninājumu sarakstu. Katra versija pievieno savu ierakstu un to paraksta. Parakstīšanas atslēga nekad nenonāk repozitorijā. HolyArrs atsakās no saraksta, ko nevar pārbaudīt.

Pēc versijas pārbaudi, vai attēla versijas etiķete sakrīt ar birku, un pirmo dienu vēro jaunās problēmas:

Terminal window
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrs
Unraid testa veidne

deploy/release/nas-template.py uzraksta Unraid lietotāja veidni vienam konkrētam attēlam. Tas neko nelejupielādē, neuzstāda un nepublicē.

Terminal window
python deploy/release/nas-template.py --image 'holyarrs/holyarrs@sha256:<digest>' --config '/mnt/<pool>/appdata/holyarrs-test' --movies /mnt/user/holyarrs-test-data/movies --downloads /mnt/user/holyarrs-test-data/downloads --port 6262 --output holyarrs-test.xml

Aizvieto <digest> un <pool>.

Parametrs Piezīmes
--image Reģistra manifesta digest, nevis Docker attēla ID
--config Pūla ceļš. Rīks atsakās no /mnt/user un /mnt/user0
--movies, --tv, --music, --downloads Neobligāti. Atsevišķi ceļi ir atsevišķi montējumi, tāpēc imports kopē
--port Noklusējums ir 6262
--allowed-hosts Neobligāts, ar komatiem atdalīti resursdatoru nosaukumi
--output XML fails, ko rakstīt

Veidne iestata PUID=99, PGID=100 un UMASK=022. Dod šim kontam rakstīšanas atļauju uz testa multividi. Ievieto failu /boot/config/plugins/dockerMan/templates-user/ un izvēlies to sadaļā Docker > Add Container > Template (Docker > pievienot konteineru > veidne).

HolyArrs ir bezmaksas. Ja tas ietaupīja tavu laiku, atzīmē to ar zvaigznīti GitHub, atbalsti to vai uzcienā mani ar kafiju.