Siirry sisältöön

Julkaiseminen

Asiantuntija

Muuta testattu build versioksi. Tämä sivu on ylläpitäjille.

  • Kaikki sivun Testaus tarkistukset menevät läpi, mukaan lukien täysi end-to-end-ajo sekä pitkät ajot ja vika-ajot.
  • CHANGELOG.md sisältää uuden version.
  • Python 3 on asennettu julkaisuskriptejä varten.
  1. Kirjoita releases/notes-<version>.toml, esimerkiksi releases/notes-1.0.0.toml. Katso Julkaisutietotiedosto.

  2. Tarkista se:

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

    Virheitä ei pitäisi tulla. Kielletty sana, pitkä ajatusviiva, päivämäärä, julkaisupuhe tai toistuva kohokohta päättää ajon koodiin 1.

  3. Rakenna julkaisutekstit:

    Terminal window
    python deploy/release/notes.py 1.0.0

    Kansiosta releases/out/1.0.0/ pitäisi löytyä 7 tiedostoa.

  4. Rakenna image ja käynnistä se tuoreella asetuskansiolla:

    Terminal window
    docker build --file deploy/Dockerfile .

    Näet ensimmäisen käynnistyksen ohjatun toiminnon.

  5. Aja kaikki sivun Testaus tarkistukset omalla koneellasi. Testit ajetaan paikallisesti, ei GitHubissa.

  6. Anna versionumero ylläpitäjälle. Ylläpitäjä pushaa versiotagin main-haaraan, ja se käynnistää julkaisun.

Asia Nimi
Git-tagi (ylläpitäjän pushaama) 1.0.0 (pelkät numerot, ei v:tä)
Image-tagi ja julkaisutietojen version 1.0.0

Työnkulku käynnistyy vain X.Y.Z-tagista ja pysähtyy, jos tagi eroaa VERSION-tiedostosta.

Jokainen versio pushaa oman versiotagin ja tagin :latest.

  1. Pushaa seuraava versio korjauksen kanssa.
  2. Merkitse huono versio päivityslistaan, jotta asennukset eivät tarjoa sitä.
  3. Säilytä tagi.

Oire. notes.py --check päättyy koodiin 1. Syy. Julkaisutietotiedosto rikkoo sääntöä. Virheilmoitus nimeää rivin. Ratkaisu. Muokkaa julkaisutietotiedostoa, älä koskaan tiedostoja kansiossa releases/out, ja aja se uudelleen.

Oire. Työnkulku pysähtyy viestiin VERSION says. Syy. Tagi ja VERSION-tiedosto eroavat. Ratkaisu. Korjaa VERSION main-haarassa ja pushaa seuraava versiotagi.

Julkaisutietotiedosto

Jokainen julkaisuteksti syntyy yhdestä tiedostosta. Älä koskaan muokkaa käsin sitä, mitä se rakentaa.

Kenttä Sisältö
version Pelkkä X.Y.Z
theme Yksi rivi
images Lista muodossa {registry, name}. Vain Docker Hubin holyarrs/holyarrs
docs_url Valinnainen. Tyhjä tarkoittaa, ettei Docs-linkkiä ole
[[highlights]] Täsmälleen 3, kussakin line, issues ja shot. Niiden issuet eivät näy missään ryhmän rivissä
[groups] Rivit paikoittain. Uusi on oletus. Muut alkavat sanoilla Changed: , Fixed: tai Docs: . Jokainen päättyy issueensa, esimerkiksi (#46). Paikka, jossa on alle 3 riviä, menee kohtaan Also new
Valinnaiset [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Tyhjät osat piilotetaan

Käytä GitHub-tunnusta vain, kun se tiedetään, joko julkaisutietotiedostossa tai tiedostossa releases/credits-map.json.

Sisällön järjestys: theme, Highlights, paikat (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, tilastorivi.

Tuloste kansiossa releases/out/<version>/ Käyttö
changelog.md Muutoslokin merkintä
github.md GitHub-julkaisun sisältö
update-notes.json Tiedot, jotka sovellus näyttää
reddit.txt Reddit-julkaisu
discord-dm.txt, discord-announce.md Discord. Kumpikin pysyy alle 1 000 merkissä
roadmap-card.json Roadmap-kortti

notes.py ottaa vastaan --file (toinen julkaisutietotiedosto), --map (toinen credits-kartta), --out (toinen tulostekansio) ja --date. --check varoittaa pitkistä riveistä ja lähes samoista toistoista.

Imagen työnkulku

Työnkulku HolyArrs - Release käynnistyy, kun versiotagi pushataan. Siinä on kolme vaihetta:

  1. Rakenna ja pushaa image alustoille linux/amd64, linux/arm64 ja linux/arm/v7 versiotagilla ja tagilla latest.
  2. Päivitä Docker Hubin kuvaus tiedostosta README.md.
  3. Julkaise GitHub-julkaisu tämän version CHANGELOG.md-osiolla.
Päivityslista

Sovellus lukee allekirjoitetun päivityslistan. Jokainen versio lisää siihen oman merkintänsä ja allekirjoittaa sen. Allekirjoitusavain ei koskaan mene repoon. HolyArrs hylkää listan, jota se ei pysty varmentamaan.

Tarkista julkaisun jälkeen, että imagen versiolabel vastaa tagia, ja seuraa uusia issueita ensimmäisen päivän ajan:

Terminal window
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrs
Unraidin testipohja

deploy/release/nas-template.py kirjoittaa Unraidin käyttäjäpohjan yhdelle tarkalle imagelle. Se ei hae, asenna eikä julkaise mitään.

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

Korvaa <digest> ja <pool>.

Lippu Huomautuksia
--image Rekisterin manifest-digest, ei Docker-imagen ID
--config Poolin polku. Työkalu hylkää arvot /mnt/user ja /mnt/user0
--movies, --tv, --music, --downloads Valinnaisia. Erilliset polut ovat erillisiä liitoksia, joten tuonnit kopioivat
--port Oletus on 6262
--allowed-hosts Valinnainen, isäntänimet pilkulla erotettuina
--output Kirjoitettava XML-tiedosto

Pohja asettaa arvot PUID=99, PGID=100 ja UMASK=022. Anna tälle tilille kirjoitusoikeus testimediaan. Laita tiedosto kansioon /boot/config/plugins/dockerMan/templates-user/ ja valitse se kohdasta Docker > Add Container > Template (lisää container > pohja).

HolyArrs on ilmainen. Jos se säästi aikaasi, anna sille tähti GitHubissa, tue sitä tai tarjoa minulle kahvit.