Sürüm çıkarma
Uzman
Test edilmiş bir derlemeyi sürüme çevir. Bu sayfa bakımcılar içindir.
Başlamadan önce
Başlamadan önce bağlantısı- Test sayfasındaki her denetim geçiyor, tam bir uçtan uca çalıştırma, uzun ve fault çalıştırmaları dahil.
CHANGELOG.mdiçinde yeni sürüm var.- Sürüm betikleri için Python 3 kurulu.
Bir sürüm hazırla
Bir sürüm hazırla bağlantısı-
releases/notes-<version>.tomldosyasını yaz, örneğinreleases/notes-1.0.0.toml. Bkz. Sürüm notları dosyası. -
Denetle:
Terminal window python deploy/release/notes.py 1.0.0 --checkHiç hata görmemelisin. Yasaklı bir kelime, uzun tire, tarih, lansman havası ya da tekrar eden bir öne çıkan issue 1 koduyla çıkar.
-
Sürüm metinlerini üret:
Terminal window python deploy/release/notes.py 1.0.0releases/out/1.0.0/içinde 7 dosya görmelisin. -
İmajı derle ve temiz bir yapılandırma klasörüyle başlat:
Terminal window docker build --file deploy/Dockerfile .İlk açılış sihirbazını görmelisin.
-
Test sayfasındaki her denetimi kendi bilgisayarında çalıştır. Testler yerelde çalışır, GitHub’da değil.
-
Sürümü bakımcıya ver. Bakımcı sürüm etiketini main üzerine iter ve sürüm bununla başlar.
Seçenekler
Seçenekler bağlantısıSürüm ve etiket adları
Sürüm ve etiket adları bağlantısı| Ne | Ad |
|---|---|
| Git etiketi (bakımcı iter) | 1.0.0 (düz sayılar, v yok) |
İmaj etiketi ve notlardaki version |
1.0.0 |
İş akışı yalnızca X.Y.Z biçimli bir etiketle başlar ve etiket VERSION dosyasından farklıysa durur.
İmaj etiketleri
İmaj etiketleri bağlantısıHer sürüm kendi sürüm etiketini ve :latest etiketini iter.
Bir sürümü geri çek
Bir sürümü geri çek bağlantısı- Düzeltmeyle birlikte sonraki sürümü it.
- Kurulumlar önermesin diye kötü sürümü güncelleme listesinde işaretle.
- Etiketi silme.
Çalışmazsa
Çalışmazsa bağlantısıBelirti. notes.py --check 1 koduyla çıkıyor.
Neden. Not dosyası bir kuralı bozuyor. Mesaj satırı söyler.
Çözüm. Not dosyasını düzenle, releases/out içindeki dosyalara asla dokunma, sonra yeniden çalıştır.
Belirti. İş akışı VERSION says diyerek duruyor.
Neden. Etiket ile VERSION dosyası farklı.
Çözüm. main üzerinde VERSION dosyasını düzelt ve sonraki sürüm etiketini it.
Uzmanlar için
Uzmanlar için bağlantısıSürüm notları dosyası
Her sürüm metni tek bir dosyadan gelir. Onun ürettiklerini asla elle düzenleme.
| Alan | İçerik |
|---|---|
version |
Düz X.Y.Z |
theme |
Tek satır |
images |
{registry, name} listesi. Yalnızca Docker Hub holyarrs/holyarrs |
docs_url |
İsteğe bağlı. Boşsa Docs bağlantısı olmaz |
[[highlights]] |
Tam 3 tane, her biri line, issues ve shot ile. Bunların issue’ları hiçbir grup satırında görünmez |
[groups] |
Yer başına satırlar. Varsayılan New’dur. Diğerleri Changed: , Fixed: veya Docs: ile başlar. Her biri (#46) gibi kendi issue’suyla biter. 3’ten az satırı olan yer Also new altına girer |
| İsteğe bağlı | [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Boş bölümler gizlenir |
GitHub kullanıcı adını yalnızca biliniyorsa, not dosyasında veya releases/credits-map.json içinde kullan.
Gövde sırası: theme, Highlights, yerler (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, stats satırı.
releases/out/<version>/ içindeki çıktı |
Kullanıldığı yer |
|---|---|
changelog.md |
Changelog girdisi |
github.md |
GitHub sürüm gövdesi |
update-notes.json |
Uygulamanın gösterdiği notlar |
reddit.txt |
Reddit gönderisi |
discord-dm.txt, discord-announce.md |
Discord. Her biri 1.000 karakterin altında kalır |
roadmap-card.json |
Yol haritası kartı |
notes.py şunları alır: --file (başka bir not dosyası), --map (başka bir credits map), --out (başka bir çıktı klasörü) ve --date. --check uzun satırlar ve yakın tekrarlar için uyarır.
İmaj iş akışı
HolyArrs - Release iş akışı bir sürüm etiketi itildiğinde başlar. Üç adımı vardır:
- İmajı
linux/amd64,linux/arm64velinux/arm/v7için derle, sürüm etiketi velatestile it. - Docker Hub açıklamasını
README.mddosyasından güncelle. - GitHub sürümünü, bu sürümün
CHANGELOG.mdbölümüyle yayımla.
Güncelleme listesi
Uygulama imzalı bir güncelleme listesi okur. Her sürüm kendi girdisini ekler ve imzalar. İmzalama anahtarı asla repoya girmez. HolyArrs doğrulayamadığı listeyi reddeder.
Bir sürümden sonra imajın sürüm etiketinin git etiketiyle eşleştiğini denetle ve ilk gün boyunca yeni issue’ları izle:
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrsUnraid test şablonu
deploy/release/nas-template.py, tam olarak bir imaj için Unraid kullanıcı şablonu yazar. Hiçbir şey çekmez, kurmaz ya da yayımlamaz.
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<digest> ve <pool> yerine kendi değerlerini yaz.
| Bayrak | Not |
|---|---|
--image |
Registry manifest digest’i, Docker imaj ID’si değil |
--config |
Bir havuz yolu. Araç /mnt/user ve /mnt/user0 yollarını reddeder |
--movies, --tv, --music, --downloads |
İsteğe bağlı. Ayrı yollar ayrı bağlama noktalarıdır, yani içe aktarma kopyalar |
--port |
Varsayılan 6262 |
--allowed-hosts |
İsteğe bağlı, virgülle ayrılmış host adları |
--output |
Yazılacak XML dosyası |
Şablon PUID=99, PGID=100 ve UMASK=022 ayarlar. Bu hesaba test medyasına yazma izni ver. Dosyayı /boot/config/plugins/dockerMan/templates-user/ içine koy ve Docker > Add Container > Template (Docker > Konteyner ekle > Şablon) altından seç.
İlgili
İlgili bağlantısıHolyArrs ücretsiz. Zamanından tasarruf ettirdiyse GitHub'da yıldızla, sponsor ol ya da bana bir kahve ısmarla.