सामग्री पर जाएँ

रिपॉज़िटरी ​

रिपॉज़िटरी Arkvory में एक नामित जगह है जहाँ फ़ाइलें संग्रहीत होती हैं और जहाँ एक्सेस तय होता है। आप जो कुछ भी प्रकाशित करते हैं वह एक रिपॉज़िटरी में जाता है, और हर अनुरोध उसका नाम लेता है।

रिपॉज़िटरी क्या है ​

एक रिपॉज़िटरी का एक ID होता है: लोअरकेस लैटिन अक्षर, अंक, - और _, जो किसी अक्षर या अंक से शुरू होता है, अधिकतम 64 वर्ण। उदाहरण हैं releases, builds और game-prod। ID हर पते का हिस्सा होता है:

क्यापता
आर्टिफ़ैक्ट, पैकेज, पथ वाली फ़ाइलें (HTTP API)/api/v1/repositories/<repository>/…
कंटेनर इमेज/v2/<repository>/<image>/…
Git LFS/lfs/<repository>
npm और Unity पैकेज/npm/<repository>/…

कंटेनर इमेज, Git LFS और Unity और npm देखें।

एक रिपॉज़िटरी अपरिवर्तनीय आर्टिफ़ैक्ट रखती है। उनके दो दृश्य होते हैं: संस्करण वाले UPack पैकेज (पैकेज) और इतिहास वाली पथ वाली फ़ाइलें (पथ वाली फ़ाइलें)। स्टेज और प्रमोशन बिल्ड को रिपॉज़िटरी के बीच ले जाते हैं (स्टेज और प्रमोशन)।

आज किसी रिपॉज़िटरी का कोई प्रदर्शित नाम, कोई विवरण और एक्सेस, स्टोरेज सेटिंग और, किसी अन्य सर्वर की कॉपी के लिए उसकी मिरर स्थिति के अलावा कोई अपनी सेटिंग नहीं होती। आप रिपॉज़िटरी का नाम नहीं बदल सकते। आप उसे हटा नहीं सकते: एक्सेस छीन लें और फ़ाइलें डिस्क पर बनी रहती हैं।

रिपॉज़िटरी बनाएँ ​

ऐसा कोई कमांड नहीं है जो रिपॉज़िटरी बनाता हो। जैसे ही उस तक एक्सेस दिया जाता है, रिपॉज़िटरी अस्तित्व में आ जाती है। पहले अपलोड तक रिपॉज़िटरी खाली रहती है।

एक व्यवस्थापक इनमें से एक काम करता है:

  • किसी समूह को नए नाम तक एक्सेस देना। कंसोल में, उपयोगकर्ता और एक्सेस खोलें, रिपॉज़िटरी एक्सेस प्रबंधित करें का विस्तार करें, समूह चुनें, रिपॉज़िटरी में नाम टाइप करें, पढ़ना या पढ़ना और लिखना चुनें और एक्सेस सहेजें चुनें। समूह arkvory-owners, जिसका स्वामी सदस्य है, पहले अनुदान के लिए अच्छा विकल्प है। समूह और रिपॉज़िटरी एक्सेस देखें।
  • सेवा खाते की नीति में रिपॉज़िटरी का नाम देना। CI के लिए सेवा खाते और कुंजियाँ देखें।

API के साथ, setGroupGrant और setServicePolicy वही करते हैं। एक टाइपिंग त्रुटि एक नया, गलत नाम बना देती है: वर्तनी जाँचें। नाम releases इंस्टॉलेशन के बाद से मौजूद है, समूह arkvory-owners के लिए लिखने के एक्सेस के साथ।

जिन रिपॉज़िटरी का आप उपयोग कर सकते हैं उन्हें देखें ​

आप केवल वे रिपॉज़िटरी देखते हैं जिनमें आपके क्रेडेंशियल का कोई अधिकार है। जिस रिपॉज़िटरी में आपका कोई अधिकार नहीं, वह दिखती नहीं, और उसे सीधे माँगने पर 404 लौटता है। खाली रिपॉज़िटरी जिस तक आपका एक्सेस है, वह भी दिखती है।

कंसोल में, रिपॉज़िटरी खोलें। प्रत्येक कार्ड रिपॉज़िटरी का नाम और, आपकी अनुमतियाँ के अंतर्गत, वहाँ आपके पास मौजूद कार्रवाइयाँ दिखाता है। बटन हैं:

  • फ़ाइलें खोलें रिपॉज़िटरी का कैटलॉग खोलता है। यह तब दिखता है जब आप आर्टिफ़ैक्ट की सूची बना सकते हैं।
  • स्टोरेज और क्लीनअप स्टोरेज सेटिंग के साथ कैटलॉग खोलता है। यह तब दिखता है जब आप स्टोरेज नीति या डायग्नोस्टिक्स पढ़ सकते हैं।
  • एक्सेस प्रबंधित करें उपयोगकर्ता और सेवा प्रशासन की ओर ले जाता है। यह व्यवस्थापकों और सेवा व्यवस्थापकों के लिए दिखता है।

सूची एक बार में 50 रिपॉज़िटरी दिखाती है; अगला पेज अगला पेज लोड करता है और फिर से लोड करें उसे रीफ़्रेश करता है। मिरर मिरर बैज दिखाती है।

arkvoryctl के साथ:

bash
arkvoryctl repositories
arkvoryctl doctor

repositories प्रत्येक रिपॉज़िटरी को उसके formats और आपके permissions के साथ प्रिंट करता है। जब उत्तर में कोई next मान हो, तो उसे --after के रूप में दें। doctor सर्वर, क्षमताएँ और वर्तमान कुंजी की अनुमतियाँ दिखाता है।

API के साथ, listRepositories limit (1 से 100, डिफ़ॉल्ट रूप से 50) और after लेता है, यानी पिछले पेज का अंतिम ID। getRepository एक कार्ड लौटाता है।

bash
curl -H "Authorization: Bearer $ARKVORY_KEY" "$ARKVORY/api/v1/repositories?limit=100"
typescript
const page = await client.repositories({ limit: 50 });
const card = await client.repository('releases');

एक कार्ड id, formats (हमेशा upack और assets) और permissions होता है। यह आकार या फ़ाइलों की संख्या के बारे में कुछ नहीं बताता। कार्रवाई के नामों के लिए अनुमतियाँ देखें।

कंसोल में रिपॉज़िटरी चुनें ​

रिपॉज़िटरी कनेक्शन कार्ड में रिपॉज़िटरी फ़ील्ड है, जिसमें उन रिपॉज़िटरी की सूची है जिन्हें आप पढ़ सकते हैं। फ़ील्ड releases से शुरू होती है। साइन इन करने के बाद, अगर आप उसे पढ़ सकते हैं तो कंसोल उसे रखता है, अन्यथा आपके द्वारा पढ़ी जा सकने वाली पहली रिपॉज़िटरी चुन लेता है। किसी अन्य में काम करने के लिए, उसका नाम टाइप करें या सूची से उसे चुनें। कैटलॉग, पैकेज, अपलोड और विवरण फिर उसी रिपॉज़िटरी का इस्तेमाल करते हैं। किसी कार्ड पर फ़ाइलें खोलें आपके लिए फ़ील्ड भर देता है।

कंसोल में किसी आर्टिफ़ैक्ट के पते में उसकी रिपॉज़िटरी होती है: #/artifact/<repository>/<id>। जिस रिपॉज़िटरी को आप नहीं पढ़ सकते, उसमें किसी आर्टिफ़ैक्ट का लिंक एक संदेश और कैटलॉग दिखाता है।

arkvoryctl प्रोफ़ाइल की रिपॉज़िटरी इस्तेमाल करता है, यानी releases, जब तक कि प्रोफ़ाइल जोड़ते समय आप कोई अन्य सेट न करें। एक कमांड के लिए उसे --repository से ओवरराइड करें:

bash
arkvoryctl profile add production --server https://arkvory.example --token-file ~/.arkvory/key --repository builds
arkvoryctl list --repository releases

SDK में, client.inRepository('builds') एक रिपॉज़िटरी से बँधा क्लाइंट लौटाता है। HTTP में, रिपॉज़िटरी पथ में होती है।

रिपॉज़िटरी सेटिंग ​

आज किसी रिपॉज़िटरी के लिए आप जो सेट कर सकते हैं:

  • एक्सेस। कौन पढ़ और लिख सकता है। खाते और एक्सेस देखें।
  • स्टोरेज। GiB में कोटा, चेतावनी और गंभीर थ्रेसहोल्ड, प्रतिधारण (प्रत्येक पैकेज और चैनल के अंतिम N बिल्ड रखें, संरक्षित लेबल, न्यूनतम आयु), स्वतः क्लीनअप और भौतिक क्लीनअप। सेटिंग देखने के लिए storage.read और बदलने के लिए storage.manage कार्रवाइयाँ चाहिए; व्यक्ति का समूह स्तर उन्हें नहीं देता, सेवा कुंजी देती है। कंसोल में वे स्टोरेज और स्वचालित क्लीनअप के अंतर्गत हैं, जिसे स्टोरेज और क्लीनअप खोलता है। arkvoryctl के साथ, storage usage और storage policy उन्हें पढ़ते हैं। जो नया अपलोड कोटा पार कर जाए वह 507 storage_quota के साथ अस्वीकार कर दिया जाता है। स्टोरेज और प्रतिधारण देखें।
  • मिरर। एक सर्वर व्यवस्थापक रिपॉज़िटरी को किसी अन्य सर्वर की रिपॉज़िटरी की प्रति बना सकता है। अगला अनुभाग देखें।

रीड-ओनली रिपॉज़िटरी ​

एक मिरर किसी अन्य Arkvory सर्वर की रिपॉज़िटरी की रीड-ओनली प्रति है। सर्वर उसे स्वयं सिंक्रनाइज़ रखता है। पढ़ने का अधिकार रखने वाला हर व्यक्ति सूची बना और डाउनलोड कर सकता है। इसे कोई बदल नहीं सकता: अपलोड, प्रकाशन, लेबल बदलना, स्टेज जोड़ना, पथ सौंपना और हटाना—सब 409 mirror_read_only के साथ अस्वीकार कर दिए जाते हैं, चाहे व्यक्ति का समूह स्तर या कुंजी की कार्रवाइयाँ कुछ भी हों। सामग्री बदलने के लिए, मुख्य सर्वर इस्तेमाल करें।

कंसोल मिरर को कैटलॉग के ऊपर एक बैज के साथ दिखाता है और अपलोड बटन छिपा देता है:

बैजअर्थ
मिररकॉपी अद्यतित है
मिरर · सिंक हो रहा हैसर्वर अभी भी पीछे की भरपाई कर रहा है
मिरर · सिंक त्रुटिअंतिम सिंक्रनाइज़ेशन विफल रहा; डाउनलोड काम करते रहते हैं

स्रोत, अंतिम सिंक्रनाइज़ेशन का समय और त्रुटि कोड के लिए बैज के बगल में इस मिरर के बारे में चुनें।

दूसरा प्रकार एक आयात है। यह एक साधारण रिपॉज़िटरी है जो किसी अन्य सर्वर की रिपॉज़िटरी में कुछ स्टेज रखने वाले संस्करणों को स्वतः अपने में ले लेती है (उदाहरण के लिए dev से prod तक)। इसका बैज आयात है। इसमें अपलोड संभव रहते हैं, और स्रोत पर बाद के बदलाव या विलोपन कॉपी किए गए को प्रभावित नहीं करते।

API के साथ, getRepositoryMirror स्थिति लौटाता है: mode (mirror या import), phase (pending, seeding या following), caughtUp, syncedAt और errorCode। यह साधारण रिपॉज़िटरी के लिए 404 लौटाता है।

मिरर सर्वर व्यवस्थापक द्वारा सेट किए जाते हैं। मिरर देखें। एक रीड गेटवे अलग चीज़ है: एक पता जो केवल उन्हीं रिपॉज़िटरी के लिए डाउनलोड परोसता है। इसके ज़रिए बदलाव 405 read_only के साथ अस्वीकार कर दिए जाते हैं। रीड गेटवे देखें।

Arkvory · ProAnimaStudio