การออกเวอร์ชัน
ผู้เชี่ยวชาญ
เปลี่ยนบิลด์ที่ทดสอบแล้วให้เป็นเวอร์ชันที่ออกใช้งาน หน้านี้สำหรับผู้ดูแลโปรเจกต์
ก่อนเริ่ม
ลิงก์ไปยัง ก่อนเริ่ม- การตรวจสอบทุกข้อในหน้าการทดสอบผ่านหมด รวมถึงการรัน end-to-end เต็มชุด และการรันยาวกับการรัน fault
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 วันที่ คำพูดเรื่องเปิดตัว หรือ highlight ที่ซ้ำ จะทำให้คำสั่งจบด้วยรหัส 1
-
สร้างข้อความของเวอร์ชัน:
Terminal window python deploy/release/notes.py 1.0.0จะได้ไฟล์ 7 ไฟล์ใน
releases/out/1.0.0/ -
สร้าง image และเริ่มด้วยโฟลเดอร์คอนฟิกใหม่:
Terminal window docker build --file deploy/Dockerfile .จะเห็นตัวช่วยตั้งค่าครั้งแรก
-
รันการตรวจสอบทุกข้อในหน้าการทดสอบบนเครื่องของคุณ เทสต์รันในเครื่อง ไม่ได้รันบน GitHub
-
ส่งเวอร์ชันให้ผู้ดูแลโปรเจกต์ ผู้ดูแลจะ push แท็กเวอร์ชันบน main และนั่นคือสิ่งที่เริ่มการออกเวอร์ชัน
ตัวเลือก
ลิงก์ไปยัง ตัวเลือกชื่อเวอร์ชันและแท็ก
ลิงก์ไปยัง ชื่อเวอร์ชันและแท็ก| สิ่งที่ตั้งชื่อ | ชื่อ |
|---|---|
| Git tag (ผู้ดูแลโปรเจกต์เป็นคน push) | 1.0.0 (ตัวเลขล้วน ไม่มี v) |
Image tag และ version ในไฟล์บันทึก |
1.0.0 |
Workflow จะเริ่มเฉพาะกับแท็กรูปแบบ X.Y.Z และจะหยุดเมื่อแท็กไม่ตรงกับไฟล์ VERSION
แท็กของ image
ลิงก์ไปยัง แท็กของ imageทุกเวอร์ชันจะ push แท็กเวอร์ชันของตัวเองและ :latest
ถอนเวอร์ชันกลับ
ลิงก์ไปยัง ถอนเวอร์ชันกลับ- Push เวอร์ชันถัดไปที่แก้ปัญหาแล้ว
- ทำเครื่องหมายเวอร์ชันที่มีปัญหาในรายการอัปเดต เครื่องที่ติดตั้งไว้จะไม่ได้รับข้อเสนอเวอร์ชันนั้น
- เก็บแท็กไว้
ถ้าไม่ทำงาน
ลิงก์ไปยัง ถ้าไม่ทำงานอาการ. notes.py --check จบด้วยรหัส 1
สาเหตุ. ไฟล์บันทึกผิดกฎข้อหนึ่ง ข้อความจะบอกบรรทัดที่ผิด
วิธีแก้. แก้ไฟล์บันทึก ห้ามแก้ไฟล์ใน releases/out แล้วรันใหม่
อาการ. Workflow หยุดพร้อมข้อความ VERSION says
สาเหตุ. แท็กกับไฟล์ VERSION ไม่ตรงกัน
วิธีแก้. แก้ VERSION บน main แล้ว push แท็กเวอร์ชันถัดไป
สำหรับผู้เชี่ยวชาญ
ลิงก์ไปยัง สำหรับผู้เชี่ยวชาญไฟล์บันทึกการออกเวอร์ชัน
ข้อความทุกชิ้นของเวอร์ชันมาจากไฟล์เดียว ห้ามแก้สิ่งที่ไฟล์นี้สร้างขึ้นด้วยมือ
| ฟิลด์ | เนื้อหา |
|---|---|
version |
X.Y.Z ล้วน |
theme |
หนึ่งบรรทัด |
images |
รายการของ {registry, name} เฉพาะ Docker Hub holyarrs/holyarrs |
docs_url |
ไม่บังคับ ถ้าว่างจะไม่มีลิงก์ Docs |
[[highlights]] |
3 รายการพอดี แต่ละรายการมี line, issues และ shot issue ของมันจะไม่ปรากฏในบรรทัดของกลุ่มใด |
[groups] |
บรรทัดของแต่ละหมวด New เป็นค่าเริ่มต้น ที่เหลือขึ้นต้นด้วย Changed: , Fixed: หรือ Docs: แต่ละบรรทัดลงท้ายด้วย issue ของมัน เช่น (#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, บรรทัดสถิติ
ผลลัพธ์ใน releases/out/<version>/ |
ใช้สำหรับ |
|---|---|
changelog.md |
รายการใน changelog |
github.md |
เนื้อหาของ GitHub release |
update-notes.json |
บันทึกที่แอปแสดง |
reddit.txt |
โพสต์ใน Reddit |
discord-dm.txt, discord-announce.md |
Discord แต่ละไฟล์ยาวไม่เกิน 1,000 ตัวอักษร |
roadmap-card.json |
การ์ดโรดแมป |
notes.py รับ --file (ไฟล์บันทึกอื่น), --map (credits map อื่น), --out (โฟลเดอร์ผลลัพธ์อื่น) และ --date ส่วน --check จะเตือนเมื่อบรรทัดยาวหรือเกือบซ้ำกัน
Workflow ของ image
Workflow HolyArrs - Release เริ่มเมื่อ push แท็กเวอร์ชัน มี 3 ขั้นตอน
- สร้างและ push image สำหรับ
linux/amd64,linux/arm64และlinux/arm/v7พร้อมแท็กเวอร์ชันและlatest - อัปเดตคำอธิบายบน Docker Hub จาก
README.md - เผยแพร่ GitHub release พร้อมส่วนของเวอร์ชันนี้ใน
CHANGELOG.md
รายการอัปเดต
แอปอ่านรายการอัปเดตที่เซ็นชื่อไว้ ทุกเวอร์ชันจะเพิ่มรายการของตัวเองและเซ็นชื่อ คีย์สำหรับเซ็นห้ามอยู่ใน repo HolyArrs ปฏิเสธรายการที่ตรวจสอบไม่ได้
หลังออกเวอร์ชัน ให้ตรวจว่า label เวอร์ชันของ image ตรงกับแท็ก และจับตาดู issue ใหม่ในวันแรก:
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrsเทมเพลต Unraid สำหรับทดสอบ
deploy/release/nas-template.py เขียนเทมเพลตผู้ใช้ของ Unraid สำหรับ image เวอร์ชันที่ระบุตรง ๆ หนึ่งตัว ไม่ได้ pull ติดตั้ง หรือเผยแพร่อะไร
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>
| Flag | หมายเหตุ |
|---|---|
--image |
Digest ของ manifest บน registry ไม่ใช่ Docker image ID |
--config |
พาธบน pool เครื่องมือจะปฏิเสธ /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 (Docker > เพิ่ม Container > เทมเพลต)
หน้าที่เกี่ยวข้อง
ลิงก์ไปยัง หน้าที่เกี่ยวข้องHolyArrs ใช้ได้ฟรี ถ้าช่วยประหยัดเวลาคุณได้ กดดาวบน GitHub, สนับสนุนโปรเจกต์ หรือ เลี้ยงกาแฟผู้พัฒนา