Tovább a tartalomhoz

Kiadás

Haladó

Egy letesztelt buildből csinálj verziót. Ez az oldal karbantartóknak szól.

  • A Tesztelés minden ellenőrzése átmegy, a teljes end-to-end futtatást, valamint a hosszú és a hibafuttatásokat is beleértve.
  • A CHANGELOG.md tartalmazza az új verziót.
  • A Python 3 telepítve van a kiadási scriptekhez.
  1. Írd meg a releases/notes-<version>.toml fájlt, például releases/notes-1.0.0.toml. Lásd: A kiadási jegyzetek fájlja.

  2. Ellenőrizd:

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

    Hibát nem szabad látnod. Egy tiltott szó, gondolatjel, dátum, indulásról szóló szöveg vagy ismétlődő kiemelés 1-es kilépési kóddal áll meg.

  3. Készítsd el a kiadási szövegeket:

    Terminal window
    python deploy/release/notes.py 1.0.0

    7 fájlt kell találnod a releases/out/1.0.0/ mappában.

  4. Építsd meg az image-et, és indítsd el egy friss konfigurációs mappával:

    Terminal window
    docker build --file deploy/Dockerfile .

    Az első indítás varázslóját kell látnod.

  5. Futtasd a Tesztelés minden ellenőrzését a saját gépeden. A tesztek helyben futnak, nem a GitHubon.

  6. Add át a verziót a karbantartónak. A karbantartó feltolja a verzió-tag-et a mainre, és ez indítja a kiadást.

Dolog Név
Git tag (a karbantartó tolja fel) 1.0.0 (sima számok, v nélkül)
Image tag és a jegyzetek version mezője 1.0.0

A workflow csak X.Y.Z tag-re indul, és leáll, ha a tag eltér a VERSION fájltól.

Minden kiadás feltolja a verzió-tag-jét és a :latest-et.

  1. Told fel a következő verziót a javítással.
  2. Jelöld meg a rossz verziót a frissítési listában, hogy a telepítések ne ajánlják fel.
  3. Tartsd meg a tag-et.

Tünet. A notes.py --check 1-gyel lép ki. Ok. A jegyzetfájl megsért egy szabályt. Az üzenet megnevezi a sort. Megoldás. Szerkeszd a jegyzetfájlt, soha ne a releases/out fájljait, és futtasd újra.

Tünet. A workflow VERSION says üzenettel áll le. Ok. A tag és a VERSION fájl eltér. Megoldás. Javítsd a VERSION-t a mainen, és told fel a következő verzió-tag-et.

A kiadási jegyzetek fájlja

Minden kiadási szöveg egyetlen fájlból készül. Soha ne szerkeszd kézzel, amit épít.

Mező Tartalom
version Sima X.Y.Z
theme Egy sor
images {registry, name} elemek listája. Csak a Docker Hub holyarrs/holyarrs
docs_url Opcionális. Üresen nincs Docs link
[[highlights]] Pontosan 3, mindegyik line, issues és shot mezővel. Az issue-ik egyetlen csoportsorban sem szerepelnek
[groups] Sorok helyenként. Az alapértelmezett az Új. A többi Changed: , Fixed: vagy Docs: szóval kezdődik. Mindegyik az issue-jával végződik, például (#46). A 3-nál kevesebb soros hely az Egyéb újdonságok alá kerül
Opcionális [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Az üres részek rejtve maradnak

GitHub-felhasználónevet csak akkor használj, ha ismert, a jegyzetfájlban vagy a releases/credits-map.json fájlban.

A szöveg sorrendje: téma, Kiemelések, helyek (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Egyéb újdonságok, Biztonság, Ismert hibák, Frissítés előtt, Image, Köszönet, statisztikai sor.

Kimenet a releases/out/<version>/ mappában Mire használják
changelog.md A changelog-bejegyzés
github.md A GitHub-kiadás szövege
update-notes.json A jegyzetek, amelyeket az app mutat
reddit.txt A Reddit-poszt
discord-dm.txt, discord-announce.md Discord. Mindegyik 1000 karakter alatt marad
roadmap-card.json A roadmap-kártya

A notes.py elfogadja a --file (másik jegyzetfájl), a --map (másik köszönet-térkép), az --out (másik kimeneti mappa) és a --date kapcsolót. A --check figyelmeztet a hosszú sorokra és a közel azonos ismétlésekre.

Az image workflow

A HolyArrs - Release workflow akkor indul, amikor feltolnak egy verzió-tag-et. Három lépése van:

  1. Megépíti és feltolja az image-et linux/amd64, linux/arm64 és linux/arm/v7 platformra, a verzió-tag-gel és a latest-tel.
  2. Frissíti a Docker Hub leírását a README.md-ből.
  3. Közzéteszi a GitHub-kiadást ennek a verziónak a CHANGELOG.md szakaszával.
Frissítési lista

Az app egy aláírt frissítési listát olvas. Minden kiadás hozzáadja a saját bejegyzését, és aláírja. Az aláírókulcs soha nem kerül a repóba. A HolyArrs elutasít egy listát, amelyet nem tud ellenőrizni.

Kiadás után nézd meg, hogy az image verziócímkéje egyezik-e a tag-gel, és az első napon figyeld az új issue-kat:

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

A deploy/release/nas-template.py egy Unraid felhasználói sablont ír egy pontos image-hez. Nem húz le, nem telepít és nem tesz közzé semmit.

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

Cseréld ki a <digest> és a <pool> részt.

Kapcsoló Megjegyzés
--image A registry manifest digestje, nem egy Docker image-azonosító
--config Egy pool-útvonal. Az eszköz elutasítja a /mnt/user és a /mnt/user0 útvonalat
--movies, --tv, --music, --downloads Opcionális. A külön útvonalak külön csatolások, így az importálás másol
--port Alapértelmezés szerint 6262
--allowed-hosts Opcionális, vesszővel elválasztott gépnevek
--output A kiírandó XML fájl

A sablon beállítja a PUID=99, PGID=100 és UMASK=022 értéket. Adj ennek a fióknak írási jogot a tesztmédiához. Told a fájlt a /boot/config/plugins/dockerMan/templates-user/ mappába, és válaszd ki a Docker > Add Container > Template alatt.

A HolyArrs ingyenes. Ha időt spórolt neked, adj neki egy csillagot a GitHubon, támogasd vagy hívj meg egy kávéra.