Publicar versions
Expert
Converteix una compilació provada en una versió. Aquesta pàgina és per als mantenidors.
Abans de començar
Enllaç a Abans de començar- Totes les comprovacions de Proves passen, incloses una execució completa d’extrem a extrem i les execucions llargues i de fallades.
CHANGELOG.mdté la versió nova.- Tens Python 3 instal·lat per als scripts de la versió.
Prepara una versió
Enllaç a Prepara una versió-
Escriu
releases/notes-<version>.toml, per exemplereleases/notes-1.0.0.toml. Mira Fitxer de notes de la versió. -
Comprova’l:
Terminal window python deploy/release/notes.py 1.0.0 --checkNo hauries de veure cap error. Una paraula prohibida, un guió llarg, una data, text de promoció o un destacat repetit fan que surti amb codi 1.
-
Genera els textos de la versió:
Terminal window python deploy/release/notes.py 1.0.0Hauries de trobar 7 fitxers a
releases/out/1.0.0/. -
Compila la imatge i inicia-la amb una carpeta de configuració nova:
Terminal window docker build --file deploy/Dockerfile .Hauries de veure l’assistent del primer inici.
-
Executa totes les comprovacions de Proves al teu equip. Les proves s’executen en local, no a GitHub.
-
Passa la versió al mantenidor. El mantenidor puja l’etiqueta de la versió a main, i això inicia la publicació.
Opcions
Enllaç a OpcionsNoms de la versió i de l’etiqueta
Enllaç a Noms de la versió i de l’etiqueta| Cosa | Nom |
|---|---|
| Etiqueta de Git (la puja el mantenidor) | 1.0.0 (números simples, sense v) |
Etiqueta de la imatge i version de les notes |
1.0.0 |
El workflow només s’inicia amb una etiqueta X.Y.Z i s’atura quan l’etiqueta és diferent del fitxer VERSION.
Etiquetes de la imatge
Enllaç a Etiquetes de la imatgeCada versió puja la seva etiqueta de versió i :latest.
Retira una versió
Enllaç a Retira una versió- Puja la versió següent amb la correcció.
- Marca la versió defectuosa a la llista d’actualitzacions perquè les instal·lacions no l’ofereixin.
- Conserva l’etiqueta.
Si no funciona
Enllaç a Si no funcionaSímptoma. notes.py --check surt amb codi 1.
Causa. El fitxer de notes trenca una regla. El missatge indica la línia.
Solució. Edita el fitxer de notes, mai els fitxers de releases/out, i torna’l a executar.
Símptoma. El workflow s’atura amb VERSION says.
Causa. L’etiqueta i el fitxer VERSION són diferents.
Solució. Corregeix VERSION a main i puja l’etiqueta de la versió següent.
Per a experts
Enllaç a Per a expertsFitxer de notes de la versió
Tots els textos de la versió surten d’un sol fitxer. No editis mai a mà el que genera.
| Camp | Contingut |
|---|---|
version |
X.Y.Z simple |
theme |
Una línia |
images |
Llista de {registry, name}. Només Docker Hub holyarrs/holyarrs |
docs_url |
Opcional. Buit vol dir que no hi ha enllaç als documents |
[[highlights]] |
Exactament 3, cadascun amb line, issues i shot. Les seves incidències no apareixen en cap línia de grup |
[groups] |
Línies per lloc. New és el per defecte. Les altres comencen amb Changed: , Fixed: o Docs: . Cadascuna acaba amb la seva incidència, com (#46). Un lloc amb menys de 3 línies va sota Also new |
| Opcional | [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Les parts buides s’amaguen |
Fes servir un nom d’usuari de GitHub només quan es coneix, al fitxer de notes o a releases/credits-map.json.
Ordre del cos: theme, Highlights, llocs (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, línia d’estadístiques.
Sortida a releases/out/<version>/ |
S’usa per a |
|---|---|
changelog.md |
L’entrada del registre de canvis |
github.md |
El cos de la versió de GitHub |
update-notes.json |
Les notes que mostra l’app |
reddit.txt |
La publicació de Reddit |
discord-dm.txt, discord-announce.md |
Discord. Cadascun es queda per sota dels 1.000 caràcters |
roadmap-card.json |
La targeta del full de ruta |
notes.py accepta --file (un altre fitxer de notes), --map (un altre mapa de crèdits), --out (una altra carpeta de sortida) i --date. --check avisa de línies llargues i de repeticions gairebé idèntiques.
El workflow de la imatge
El workflow HolyArrs - Release s’inicia quan es puja una etiqueta de versió. Té tres passos:
- Compilar i pujar la imatge per a
linux/amd64,linux/arm64ilinux/arm/v7, amb l’etiqueta de la versió ilatest. - Actualitzar la descripció de Docker Hub des de
README.md. - Publicar la versió de GitHub amb la secció de
CHANGELOG.mdd’aquesta versió.
Llista d'actualitzacions
L’app llegeix una llista d’actualitzacions signada. Cada versió hi afegeix la seva entrada i la signa. La clau de signatura no entra mai al repositori. HolyArrs rebutja una llista que no pot verificar.
Després d’una versió, comprova que l’etiqueta de versió de la imatge coincideix amb l’etiqueta, i vigila les incidències noves durant el primer dia:
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrsPlantilla de prova per a Unraid
deploy/release/nas-template.py escriu una plantilla d’usuari d’Unraid per a una imatge exacta. No baixa, no instal·la ni publica res.
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.xmlSubstitueix <digest> i <pool>.
| Indicador | Notes |
|---|---|
--image |
El digest del manifest del registre, no un ID d’imatge de Docker |
--config |
Una ruta del pool. L’eina rebutja /mnt/user i /mnt/user0 |
--movies, --tv, --music, --downloads |
Opcionals. Rutes separades són muntatges separats, així que les importacions copien |
--port |
Per defecte és 6262 |
--allowed-hosts |
Opcional, noms de host separats per comes |
--output |
El fitxer XML que s’escriu |
La plantilla defineix PUID=99, PGID=100 i UMASK=022. Dona a aquest compte permís d’escriptura als fitxers multimèdia de prova. Posa el fitxer a /boot/config/plugins/dockerMan/templates-user/ i tria’l a Docker > Add Container > Template (Docker > afegir contenidor > plantilla).
Relacionat
Enllaç a RelacionatHolyArrs és gratis. Si t'ha estalviat temps, dona-li una estrella a GitHub, patrocina'l o convida'm a un cafè.