एक बार जब कोई प्रोजेक्ट स्थानीय रूप से चलने लगता है, तो चार कमांड उसे Zinn Digital® होस्टिंग पर एक लाइव साइट पर ले जाते हैं: साइन इन करें, प्रोजेक्ट को एक होस्टिंग स्लॉट से लिंक करें, प्री-फ़्लाइट पढ़ें, और पुश करें। यह लेख इनमें से प्रत्येक के बारे में, यह क्या प्रिंट करता है, और इसके बाद आपके काम आने वाले कमांड्स — पुनः डिप्लॉय करना, डिप्लॉय का इतिहास और बिल्ड लॉग्स — के बारे में विस्तार से बताता है।
एक API की (key) के साथ साइन इन करें
डैशबोर्ड में Settings → API keys के अंतर्गत एक की (key) बनाएं, फिर:
zinnector login
की (key) को प्रॉम्प्ट पर टाइप किया जाता है — इसे कमांड लाइन पर कभी भी स्वीकार नहीं किया जाता है, ताकि यह आपके शैल इतिहास या प्रक्रिया सूची में न आए। CI में, इसे पाइप करें: echo "$ZINN_API_KEY" | zinnector login --profile ci, या ZINNECTOR_TOKEN सेट करें और login को पूरी तरह से छोड़ दें। की (key) को संग्रहीत करने से पहले सत्यापित किया जाता है, और फ़ाइल मोड 600 के साथ संग्रहीत किया जाता है। zinnector whoami --scopes दिखाता है कि आपने किस संगठन में साइन इन किया है और की (key) के पास कौन सी अनुमतियाँ हैं; सैंडबॉक्स की (key) को उसी रूप में लेबल किया जाता है।
प्रोजेक्ट को एक स्लॉट से लिंक करें
zinnector link # सूची से एक साइट चुनें
zinnector link example.com --repo acme/site --branch main
link साइट की id को zinnector.json में लिखता है और, जब तक कि आप --no-repo पास नहीं करते, प्लेटफ़ॉर्म पर प्रोजेक्ट के git रिमोट को साइट से जोड़ता है ताकि पुश करने पर यह डिप्लॉय हो जाए। zinnector.json को कमिट करें: रिपॉजिटरी को क्लोन करने वाला कोई सहकर्मी बिना बताए उसी स्थान पर डिप्लॉय करता है। इसमें कोई गोपनीय जानकारी नहीं होती है।
प्री-फ़्लाइट पढ़ें
zinnector check
यह वह कमांड है जिसके लिए CLI मौजूद है। यह आपके प्रोजेक्ट की तुलना उस स्लॉट से करता है जिस पर इसे डिप्लॉय किया जाना है और हर बेमेल — और ऐसी हर तुलना जिसे यह नहीं कर सका — को प्रिंट करता है:
- PHP संस्करण, जिसमें एक प्रमुख-संस्करण अंतर को उच्च श्रेणीबद्ध किया गया है क्योंकि यह निश्चित रूप से साइट को बाधित करता है और एक छोटे अंतर को निम्न श्रेणीबद्ध किया गया है, क्योंकि हर चीज़ को गंभीर के रूप में वर्गीकृत करने से लोगों को चेतावनी को अनदेखा करने की आदत हो जाती है।
- क्या स्लॉट उस संस्करण पर स्विच कर सकता है जिस पर आपने निर्माण किया है, क्या स्लॉट का PHP जीवन चक्र समाप्त (end of life) कर चुका है, और क्या मशीन ने संस्करण को लागू किया है या केवल बताया गया है।
- स्लॉट पर वास्तव में बची हुई डिस्क और आइनोड (inode) हेडरुम के मुकाबले आपके प्रोजेक्ट का आकार और फ़ाइल संख्या — एक WordPress ट्री अपने डिस्क कैप के काफी नीचे रहते हुए भी फ़ाइलों से समाप्त हो सकता है।
- प्रत्येक पक्ष पर WordPress संस्करण, क्या स्लॉट ने प्रोविज़निंग पूरी कर ली है, और क्या पुश करने के लिए कोई रिपॉजिटरी जुड़ी हुई है।
यह चेतावनी देता है; यह कभी ब्लॉक नहीं करता। प्रत्येक परिणाम को zinnector push --force के साथ ओवरराइड किया जा सकता है, क्योंकि आप अपनी खुद की साइट के बारे में ऐसी बातें जानते हैं जो एक चेकर नहीं जानता। जिस तुलना को नहीं किया जा सका, उसे अज्ञात के रूप में रिपोर्ट किया जाता है, कभी भी पास के रूप में नहीं, और सारांश हमेशा बताता है कि वे कितने थे। डिफ़ॉल्ट रूप से स्थानीय PHP संस्करण वह होता है जिसे zinnector.json में घोषित किया गया है; --probe स्थानीय रनटाइम को बूट करता है और इसके बजाय इसे मापता है। --strict अज्ञात पर भी गैर-शून्य से बाहर निकलता है, जो कि एक CI गेट चाहता है।
पुश करें
zinnector push
push प्री-फ़्लाइट चलाता है, आपके कमिट्स को पुश करता है, डिप्लॉय को ट्रिगर करता है और इसके पूरा होने तक देखता है, अंतिम स्थिति और डिप्लॉय किए गए कमिट को प्रिंट करता है। --dry-run डिप्लॉय को छोड़कर सब कुछ करता है; --no-wait इसे ट्रिगर करता है और बाहर निकल जाता है; --no-git बिना पुश किए प्लेटफ़ॉर्म के पास पहले से मौजूद चीज़ों को डिप्लॉय करता है। यदि डिप्लॉय किया गया कमिट वह नहीं है जिसे अभी पुश किया गया था, तो यह ऐसा बताता है।
जब कुछ गलत हो जाए
zinnector deploys example.com # डिप्लॉय इतिहास — स्थिति, कमिट, ट्रिगर, संदेश
zinnector logs example.com --build # सबसे हालिया डिप्लॉय का बिल्ड लॉग
zinnector logs example.com --error # साइट का त्रुटि लॉग
zinnector deploy example.com # प्लेटफ़ॉर्म के पास पहले से मौजूद चीज़ों को पुनः डिप्लॉय करें
zinnector ai "why is my deploy failing?"
zinnector ai आपके अपने खाते के विरुद्ध प्लेटफ़ॉर्म पर चलता है, इसलिए यह वही डिप्लॉय इतिहास और लॉग देख सकता है। किसी प्रोजेक्ट के अंदर से यह प्रोजेक्ट का आकार — डायरेक्टरी नाम, संस्करण और साइट id — भेजता है और कभी भी फ़ाइल सामग्री नहीं भेजता।
संबंधित