वर्ज़न निकालना
एक्सपर्ट
टेस्ट किए हुए बिल्ड को नया वर्ज़न बनाएं। यह पेज मेंटेनर के लिए है।
शुरू करने से पहले
शुरू करने से पहले का लिंक- टेस्टिंग की हर जाँच पास है, जिसमें एक पूरा एंड-टू-एंड रन और लंबे और फ़ॉल्ट वाले रन शामिल हैं।
CHANGELOG.mdमें नया वर्ज़न है।- रिलीज़ स्क्रिप्ट के लिए Python 3 इंस्टॉल है।
वर्ज़न तैयार करें
वर्ज़न तैयार करें का लिंक-
releases/notes-<version>.tomlलिखें, जैसेreleases/notes-1.0.0.toml. रिलीज़ नोट्स फ़ाइल देखें। -
इसे जाँचें:
Terminal window python deploy/release/notes.py 1.0.0 --checkकोई एरर नहीं दिखना चाहिए। कोई मना किया हुआ शब्द, em dash, तारीख़, लॉन्च की बातें या हाइलाइट का दोहराया हुआ इशू हो, तो यह 1 के साथ बंद होता है।
-
रिलीज़ के टेक्स्ट बनाएं:
Terminal window python deploy/release/notes.py 1.0.0releases/out/1.0.0/में 7 फ़ाइलें मिलनी चाहिए। -
इमेज बिल्ड करें और उसे एक नए कॉन्फ़िग फ़ोल्डर पर शुरू करें:
Terminal window docker build --file deploy/Dockerfile .पहली बार का विज़ार्ड दिखना चाहिए।
-
टेस्टिंग की हर जाँच अपनी मशीन पर चलाएं। टेस्ट लोकल चलते हैं, GitHub पर नहीं।
-
वर्ज़न मेंटेनर को सौंप दें। मेंटेनर main पर वर्ज़न टैग पुश करता है, और उसी से रिलीज़ शुरू होती है।
विकल्प
विकल्प का लिंकवर्ज़न और टैग के नाम
वर्ज़न और टैग के नाम का लिंक| चीज़ | नाम |
|---|---|
| Git टैग (मेंटेनर पुश करता है) | 1.0.0 (सादे नंबर, v नहीं) |
इमेज टैग और नोट्स का version |
1.0.0 |
वर्कफ़्लो सिर्फ़ X.Y.Z टैग पर शुरू होता है, और टैग VERSION फ़ाइल से अलग हो तो रुक जाता है।
इमेज टैग
इमेज टैग का लिंकहर वर्ज़न अपना वर्ज़न टैग और :latest पुश करता है।
वर्ज़न वापस लेना
वर्ज़न वापस लेना का लिंक- फ़िक्स के साथ अगला वर्ज़न पुश करें।
- अपडेट सूची में ख़राब वर्ज़न पर निशान लगाएं, ताकि इंस्टॉल उसे ऑफ़र न करें।
- टैग को रहने दें।
अगर काम न करे
अगर काम न करे का लिंकलक्षण। notes.py --check 1 के साथ बंद होता है।
वजह। नोट्स फ़ाइल कोई नियम तोड़ती है। संदेश में लाइन बताई जाती है।
हल। नोट्स फ़ाइल को एडिट करें, releases/out की फ़ाइलों को कभी नहीं, और इसे दोबारा चलाएं।
लक्षण। वर्कफ़्लो VERSION says के साथ रुक जाता है।
वजह। टैग और VERSION फ़ाइल अलग हैं।
हल। main पर VERSION ठीक करें और अगला वर्ज़न टैग पुश करें।
एक्सपर्ट के लिए
एक्सपर्ट के लिए का लिंकरिलीज़ नोट्स फ़ाइल
रिलीज़ का हर टेक्स्ट एक ही फ़ाइल से बनता है। यह जो बनाती है, उसे कभी हाथ से एडिट न करें।
| फ़ील्ड | इसमें क्या है |
|---|---|
version |
सादा X.Y.Z |
theme |
एक लाइन |
images |
{registry, name} की सूची। सिर्फ़ Docker Hub holyarrs/holyarrs |
docs_url |
वैकल्पिक। ख़ाली होने का मतलब है कि Docs लिंक नहीं होगा |
[[highlights]] |
ठीक 3, हर एक में line, issues और shot. इनके इशू किसी ग्रुप लाइन में नहीं आते |
[groups] |
हर जगह की लाइनें। New डिफ़ॉल्ट है। बाकी Changed: , Fixed: या Docs: से शुरू होती हैं। हर लाइन अपने इशू पर ख़त्म होती है, जैसे (#46). जिस जगह की 3 से कम लाइनें हों, वह Also new के नीचे जाती है |
| वैकल्पिक | [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. ख़ाली हिस्से छिपा दिए जाते हैं |
GitHub लॉगिन तभी इस्तेमाल करें जब वह पता हो, नोट्स फ़ाइल में या releases/credits-map.json में।
बॉडी का क्रम: theme, Highlights, जगहें (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, stats लाइन।
releases/out/<version>/ में आउटपुट |
किस काम आता है |
|---|---|
changelog.md |
चेंजलॉग की एंट्री |
github.md |
GitHub रिलीज़ की बॉडी |
update-notes.json |
वे नोट्स जो ऐप दिखाता है |
reddit.txt |
Reddit पोस्ट |
discord-dm.txt, discord-announce.md |
Discord. हर एक 1,000 अक्षरों से कम रहता है |
roadmap-card.json |
रोडमैप कार्ड |
notes.py ये लेता है: --file (दूसरी नोट्स फ़ाइल), --map (दूसरा क्रेडिट मैप), --out (दूसरा आउटपुट फ़ोल्डर) और --date. --check लंबी लाइनों और लगभग दोहराई गई लाइनों पर चेतावनी देता है।
इमेज वर्कफ़्लो
HolyArrs - Release वर्कफ़्लो तब शुरू होता है जब कोई वर्ज़न टैग पुश होता है। इसमें तीन चरण हैं:
linux/amd64,linux/arm64औरlinux/arm/v7के लिए इमेज बिल्ड और पुश करना, वर्ज़न टैग औरlatestके साथ।README.mdसे Docker Hub का डिस्क्रिप्शन अपडेट करना।- इस वर्ज़न के
CHANGELOG.mdवाले हिस्से के साथ GitHub रिलीज़ पब्लिश करना।
अपडेट सूची
ऐप एक साइन की हुई अपडेट सूची पढ़ता है। हर वर्ज़न अपनी एंट्री जोड़ता है और उसे साइन करता है। साइन करने वाली कुंजी रेपो में कभी नहीं जाती। जिस सूची को HolyArrs जाँच नहीं पाता, उसे वह नहीं मानता।
वर्ज़न निकलने के बाद जाँचें कि इमेज का वर्ज़न लेबल टैग से मिलता है, और पहले दिन नए इशू पर नज़र रखें:
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrsUnraid टेस्ट टेम्पलेट
deploy/release/nas-template.py एक तय इमेज के लिए Unraid का यूज़र टेम्पलेट लिखता है। यह कुछ भी पुल, इंस्टॉल या पब्लिश नहीं करता।
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> और <pool> की जगह अपनी वैल्यू डालें।
| फ़्लैग | नोट |
|---|---|
--image |
रजिस्ट्री का मैनिफ़ेस्ट डाइजेस्ट, Docker इमेज ID नहीं |
--config |
किसी पूल का पाथ। टूल /mnt/user और /mnt/user0 को नहीं मानता |
--movies, --tv, --music, --downloads |
वैकल्पिक। अलग पाथ अलग माउंट होते हैं, इसलिए इंपोर्ट में फ़ाइलें कॉपी होती हैं |
--port |
डिफ़ॉल्ट 6262 |
--allowed-hosts |
वैकल्पिक, कॉमा से अलग किए गए होस्ट नाम |
--output |
लिखी जाने वाली XML फ़ाइल |
टेम्पलेट PUID=99, PGID=100 और UMASK=022 सेट करता है। उस अकाउंट को टेस्ट मीडिया पर लिखने की अनुमति दें। फ़ाइल को /boot/config/plugins/dockerMan/templates-user/ में रखें और उसे Docker > Add Container > Template के नीचे चुनें।
इससे जुड़े पेज
इससे जुड़े पेज का लिंकHolyArrs मुफ़्त है। अगर इससे आपका समय बचा, तो GitHub पर स्टार दें, स्पॉन्सर करें या मुझे एक कॉफ़ी पिलाएं।