Eiti prie turinio

Versijų išleidimas

Pažengusiam

Paversk ištestuotą build versija. Šis puslapis skirtas prižiūrėtojams.

  • Visos testavimo patikros praeina, įskaitant pilną end-to-end paleidimą ir ilgus bei fault bandymus.
  • CHANGELOG.md turi naują versiją.
  • Release skriptams įdiegtas Python 3.
  1. Parašyk releases/notes-<version>.toml, pavyzdžiui, releases/notes-1.0.0.toml. Žiūrėk versijos aprašo failą.

  2. Patikrink jį:

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

    Turėtum pamatyti, kad klaidų nėra. Uždraustas žodis, ilgasis brūkšnys, data, kalbos apie paleidimą ar pasikartojantis akcentas baigia darbą su kodu 1.

  3. Sukurk versijos tekstus:

    Terminal window
    python deploy/release/notes.py 1.0.0

    releases/out/1.0.0/ turėtum rasti 7 failus.

  4. Sukompiliuok image ir paleisk jį su švariu konfigūracijos aplanku:

    Terminal window
    docker build --file deploy/Dockerfile .

    Turėtum pamatyti pirmo paleidimo vedlį.

  5. Savo kompiuteryje paleisk kiekvieną testavimo patikrą. Testai vykdomi vietoje, ne GitHub.

  6. Perduok versiją prižiūrėtojui. Prižiūrėtojas main šakoje išsiunčia versijos tag, ir tai pradeda versijos išleidimą.

Versijų ir tag pavadinimai

Nuoroda į Versijų ir tag pavadinimai
Dalykas Pavadinimas
Git tag (siunčia prižiūrėtojas) 1.0.0 (paprasti skaičiai, be v)
Image tag ir aprašo version 1.0.0

Darbo eiga pasileidžia tik X.Y.Z tag ir sustoja, kai tag skiriasi nuo VERSION failo.

Kiekviena versija išsiunčia savo versijos tag ir :latest.

  1. Išsiųsk kitą versiją su pataisymu.
  2. Pažymėk blogą versiją atnaujinimų sąraše, kad diegimai jos nesiūlytų.
  3. Palik tag.

Požymis. notes.py --check baigia darbą su kodu 1. Priežastis. Aprašo failas laužo taisyklę. Pranešime nurodyta eilutė. Sprendimas. Taisyk aprašo failą, niekada ne failus releases/out, ir paleisk dar kartą.

Požymis. Darbo eiga sustoja su VERSION says. Priežastis. Tag ir VERSION failas skiriasi. Sprendimas. Pataisyk VERSION main šakoje ir išsiųsk kitą versijos tag.

Versijos aprašo failas

Kiekvienas versijos tekstas sukuriamas iš vieno failo. Niekada netaisyk rankomis to, ką jis sukuria.

Laukas Turinys
version Paprastas X.Y.Z
theme Viena eilutė
images Sąrašas {registry, name}. Tik Docker Hub holyarrs/holyarrs
docs_url Neprivaloma. Tuščias reiškia, kad Docs nuorodos nėra
[[highlights]] Lygiai 3, kiekvienas su line, issues ir shot. Jų issues neatsiranda jokioje grupės eilutėje
[groups] Eilutės kiekvienai vietai. New yra numatytoji. Kitos prasideda Changed: , Fixed: arba Docs: . Kiekviena baigiasi savo issue, pavyzdžiui, (#46). Vieta su mažiau nei 3 eilutėmis keliama į Also new
Neprivaloma [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Tuščios dalys paslepiamos

GitHub vardą naudok tik tada, kai jis žinomas, aprašo faile arba releases/credits-map.json.

Teksto tvarka: theme, Highlights, vietos (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, stats eilutė.

Išvestis releases/out/<version>/ Skirta
changelog.md Changelog įrašui
github.md GitHub versijos tekstui
update-notes.json Pastaboms, kurias rodo programa
reddit.txt Reddit įrašui
discord-dm.txt, discord-announce.md Discord. Kiekvienas lieka iki 1 000 simbolių
roadmap-card.json Plano kortelei

notes.py priima --file (kitas aprašo failas), --map (kitas padėkų žemėlapis), --out (kitas išvesties aplankas) ir --date. --check įspėja dėl ilgų eilučių ir beveik pasikartojančių.

Image darbo eiga

Darbo eiga HolyArrs - Release pasileidžia, kai išsiunčiamas versijos tag. Ji turi tris žingsnius:

  1. Sukompiliuoja ir išsiunčia image, skirtą linux/amd64, linux/arm64 ir linux/arm/v7, su versijos tag ir latest.
  2. Atnaujina Docker Hub aprašą iš README.md.
  3. Paskelbia GitHub versiją su šios versijos CHANGELOG.md skyriumi.
Atnaujinimų sąrašas

Programa skaito pasirašytą atnaujinimų sąrašą. Kiekviena versija prideda savo įrašą ir jį pasirašo. Pasirašymo raktas niekada nepatenka į repo. HolyArrs atmeta sąrašą, kurio negali patikrinti.

Po versijos patikrink, ar image versijos žyma sutampa su tag, ir pirmą parą stebėk naujus issues:

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

deploy/release/nas-template.py sukuria Unraid naudotojo šabloną vienam tiksliam image. Jis nieko nesiunčia, nediegia ir neskelbia.

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

Pakeisk <digest> ir <pool>.

Vėliavėlė Pastabos
--image Registry manifest digest, ne Docker image ID
--config Pool kelias. Įrankis atmeta /mnt/user ir /mnt/user0
--movies, --tv, --music, --downloads Neprivaloma. Atskiri keliai yra atskiri prijungimai, todėl importas kopijuoja
--port Numatytasis 6262
--allowed-hosts Neprivaloma, kableliais atskirti host vardai
--output XML failas, kurį rašyti

Šablonas nustato PUID=99, PGID=100 ir UMASK=022. Suteik tai paskyrai rašymo teisę į testinę mediją. Failą padėk į /boot/config/plugins/dockerMan/templates-user/ ir pasirink jį skiltyje Docker > Add Container > Template (Docker > pridėti konteinerį > šablonas).

HolyArrs yra nemokama. Jei sutaupė tau laiko, pažymėk jį žvaigždute GitHub, paremk jį arba nupirk man kavos.