प्रकाशक खाता सेटअप
@ahmed-g-gad/apothem के लिए npmjs.com विश्वसनीय प्रकाशक और GitHub-पक्ष की रिलीज़ पूर्वापेक्षाएँ कॉन्फ़िगर करें।
यह रनबुक रिलीज़ सतह के प्रकाशक पक्ष को कॉन्फ़िगर करता है। वितरण कथा में एक ही
रजिस्ट्री है: npmjs.com पर स्कोप्ड npm पैकेज @ahmed-g-gad/apothem, जिसे
GitHub Release, Pages, CI, conformity, और harness वर्कफ़्लो के हरे हो जाने के बाद
मैन्युअल रूप से डिस्पैच किए गए publish-npm.yml वर्कफ़्लो द्वारा प्रकाशित किया
जाता है। हर अन्य आर्टिफ़ैक्ट GitHub Release पृष्ठ पर ही भेजा जाता है और इसे किसी
बाहरी प्रकाशक खाते की आवश्यकता नहीं होती।
पहचान मानचित्र
| सतह | खाता | पैकेज पहचान |
|---|---|---|
| GitHub | ahmed-g-gad | ahmed-g-gad/apothem |
| npm (npmjs.com) | ahmed-g-gad | @ahmed-g-gad/apothem |
GitHub स्वामी को भविष्य में बदलने की अनुमति है। वर्कफ़्लो और इंस्टॉलर लॉजिक उन जगहों
पर github.repository, github.repository_owner, या
APOTHEM_GITHUB_REPOSITORY पढ़ता है जहाँ कोई प्लेटफ़ॉर्म गतिशील समाधान की अनुमति
देता है। रजिस्ट्री पैकेज पहचानकर्ता स्थिर रहता है क्योंकि उपयोगकर्ता अनुरक्षक के
खाता नाम के बजाय पैकेज का नाम इंस्टॉल करते हैं।
npm (npmjs.com)
-
ahmed-g-gadके रूप मेंhttps://www.npmjs.com/में साइन इन करें। -
खाते पर दो-कारक प्रमाणीकरण सक्षम करें।
-
स्कोप्ड पैकेज नाम की पुष्टि करें:
npm view @ahmed-g-gad/apothem name404का अर्थ है कि स्कोप्ड पैकेज अभी तक प्रकाशित नहीं हुआ है। प्रकाशन से पहले किसी भी अन्य पैकेज प्रतिक्रिया का इस रिपॉज़िटरी और खाते से मेल खाना आवश्यक है। -
यदि UI को पहले पैकेज रिकॉर्ड की आवश्यकता हो तो npm पर पैकेज बनाएँ। नाम को स्कोप्ड रखें:
@ahmed-g-gad/apothem। -
GitHub Actions से
@ahmed-g-gad/apothemके लिए विश्वसनीय प्रकाशन (Trusted Publishing) कॉन्फ़िगर करें:- GitHub स्वामी:
ahmed-g-gad - रिपॉज़िटरी:
apothem - वर्कफ़्लो फ़ाइल नाम:
publish-npm.yml - परिवेश:
npmjs - अनुमत क्रिया:
npm publish।
- GitHub स्वामी:
-
GitHub में सत्यापित करें कि
npmjsपरिवेशahmed-g-gad/apothemपर मौजूद है और परिनियोजन के लिए मैन्युअल अनुमोदन की आवश्यकता रखता है। -
npm सतह को एक सार्वजनिक रजिस्ट्री पैकेज तक सीमित रखें: npmjs.com पर
@ahmed-g-gad/apothem। -
रिलीज़ तत्परता की पुष्टि करें:
Release readiness bash scripts/release/check-release-ready.sh <release-tag> -
GitHub Actions टैब से
tag=<release-tag>के साथPublish — npm(publish-npm.yml) चलाएँ औरnpmjsपरिवेश परिनियोजन को अनुमोदित करें। -
लाइव पैकेज सत्यापित करें:
npm verification npm view @ahmed-g-gad/apothem version npx @ahmed-g-gad/apothem@<version> --version
किसी NPM_TOKEN, उपयोगकर्ता नाम, या पासवर्ड सीक्रेट की आवश्यकता नहीं है। वर्कफ़्लो
.github/workflows/publish-npm.yml के भीतर पिन किए गए Node संस्करण और npm CLI के
OIDC फ़्लोर के साथ npm Trusted Publishing (OIDC) के माध्यम से प्रकाशित करता है।
यह npmjs.com के विरुद्ध npm publish --access public चलाता है; npm एक सार्वजनिक
GitHub Actions वर्कफ़्लो से प्रकाशित सार्वजनिक पैकेजों के लिए स्वचालित रूप से उद्गम
(provenance) उत्सर्जित करता है। PUT के दौरान रजिस्ट्री 404 का अर्थ है कि npm
पक्ष का विश्वसनीय प्रकाशक, पैकेज स्कोप, या खाता प्राधिकरण अभी संरेखित नहीं है;
वर्कफ़्लो को पुनः प्रयास करने से पहले npm पैकेज सेटिंग्स ठीक करें।
संदर्भ: npm विश्वसनीय प्रकाशक, npm उद्गम, और npm स्कोप।
GitHub-पक्ष की रिलीज़ पूर्वापेक्षाएँ
शेष रिलीज़ सतहें GitHub-नेटिव हैं और रिपॉज़िटरी-स्कोप्ड GITHUB_TOKEN के साथ
प्रमाणीकृत होती हैं; इसमें कोई बाहरी खाता शामिल नहीं होता।
-
GitHub Release।
.github/workflows/release.ymlसंस्करण टैग पर चलता है और केवल अपनी जॉब-लोकलcontents: writeअनुमति की आवश्यकता रखता है। टैग करने से पहले पुष्टि करें कि वर्कफ़्लो फ़ाइलmainपर मौजूद है। -
Pages कस्टम डोमेन। दस्तावेज़ीकरण साइट
publish-static-site.ymlके माध्यम से कस्टम डोमेनapothem.ahmedgad.comपर परिनियोजित होती है। डोमेन, DNS, और HTTPS प्रवर्तन Pages-सक्षमीकरण रनबुक द्वारा स्थापित किए जाते हैं; सत्यापित करें:Pages verification gh api repos/ahmed-g-gad/apothem/pages --jq '.cname, .https_enforced' curl -sSI https://apothem.ahmedgad.com/ | head -n 1 -
स्क्रिप्ट इंस्टॉलर।
install.shऔरinstall.ps1Pages साइट से परोसे जाते हैं (https://apothem.ahmedgad.com/install.shऔरhttps://apothem.ahmedgad.com/install.ps1)। इन्हें उसी Pages परिनियोजन द्वारा प्रकाशित किया जाता है; किसी अलग खाते या टोकन की आवश्यकता नहीं होती।
सत्यापन मैट्रिक्स
सेटअप के बाद, प्रत्येक प्रकाशक सतह अपनी विहित जाँच का उत्तर देती है:
| सतह | जाँच |
|---|---|
| npmjs.com | npm view @ahmed-g-gad/apothem version जारी किया गया संस्करण लौटाता है |
| GitHub Release | gh release view <release-tag> --json assets --jq '.assets[].name' sdist, wheel, SBOM, cosign बंडल, उद्गम, और प्लेटफ़ॉर्म आर्काइव सूचीबद्ध करता है |
| Pages | curl -sSI https://apothem.ahmedgad.com/ कस्टम डोमेन पर 200 लौटाता है |