ایک بار جب کوئی پروجیکٹ مقامی طور پر چل جائے، تو چار کمانڈز اسے Zinn Digital® ہوسٹنگ پر ایک لائیو سائٹ پر لے جاتی ہیں: سائن ان کریں، پروجیکٹ کو ہوسٹنگ سلاٹ سے لنک کریں، پری فلائٹ پڑھیں، اور پش کریں۔ یہ مضمون ہر ایک مرحلے، اس کے پرنٹ کردہ نتائج، اور ان کمانڈز کی تفصیل بیان کرتا ہے جن کی آپ کو بعد میں ضرورت پڑتی ہے — دوبارہ ڈیپلائمنٹ، ڈیپلائی ہسٹری اور بلڈ لاگز۔
ایک API کلید کے ساتھ سائن ان کریں
ڈیش بورڈ میں Settings ← API keys کے تحت ایک کلید بنائیں، پھر:
zinnector login
کلید ایک پرامپٹ پر ٹائپ کی جاتی ہے — اسے کمانڈ لائن پر کبھی نہیں قبول کیا جاتا، تاکہ یہ آپ کی شیل ہسٹری یا پروسیس لسٹنگ میں نہ جا سکے۔ CI میں، اسے پائپ کریں: echo "$ZINN_API_KEY" | zinnector login --profile ci، یا ZINNECTOR_TOKEN سیٹ کریں اور login کو مکمل طور پر چھوڑ دیں۔ کلید کو محفوظ کرنے سے پہلے اس کی تصدیق کی جاتی ہے، اور اسے فائل موڈ 600 کے ساتھ محفوظ کیا جاتا ہے۔ zinnector whoami --scopes دکھاتا ہے کہ آپ کس تنظیم میں سائن ان ہیں اور کلید کے پاس کون سے اختیارات ہیں؛ سینڈ باکس کلید کو اسی طور پر لیبل کیا جاتا ہے۔
پروجیکٹ کو ایک سلاٹ سے لنک کریں
zinnector link # pick a site from a list
zinnector link example.com --repo acme/site --branch main
link سائٹ کی id کو zinnector.json میں لکھتا ہے اور، جب تک کہ آپ --no-repo پاس نہ کریں، پروجیکٹ کے git ریموٹ کو پلیٹ فارم پر موجود سائٹ سے جوڑ دیتا ہے تاکہ پش کرنے پر یہ ڈیپلائی ہو جائے۔ zinnector.json کو کمٹ کریں: کوئی بھی ساتھی جو اس ریپوزیٹری کو کلون کرتا ہے وہ بتائے بغیر اسی جگہ ڈیپلائی کر سکتا ہے۔ اس میں کوئی خفیہ معلومات نہیں ہوتیں۔
پری فلائٹ پڑھیں
zinnector check
یہ وہی کمانڈ ہے جس کے لیے CLI موجود ہے۔ یہ آپ کے پروجیکٹ کا اس سلاٹ سے موازنہ کرتا ہے جس پر اسے ڈیپلائی کیا جانا ہے اور ہر غیر مطابقت کو پرنٹ کرتا ہے — اور ہر اس موازنے کو بھی جسے یہ انجام نہ دے سکا:
- PHP ورژن، جس میں میجر ورژن کے فرق کو high درجہ دیا جاتا ہے کیونکہ یہ یقینی طور پر سائٹ کو خراب کرتا ہے اور مائنر فرق کو کم درجہ دیا جاتا ہے، کیونکہ ہر چیز کو نازک قرار دینے سے لوگوں کو تنبیہ کو نظر انداز کرنے کی عادت پڑ جاتی ہے۔
- آیا سلاٹ اس ورژن پر سوئچ کر سکتا ہے جس پر آپ نے تیاری کی ہے، آیا سلاٹ کا PHP اپنی میعاد ختم کر چکا ہے، اور آیا مشین نے اس ورژن کو لاگو کر دیا ہے یا صرف اسے بتایا گیا ہے۔
- آپ کے پروجیکٹ کا سائز اور فائلوں کی تعداد بمقابلہ سلاٹ پر درحقیقت بچی ہوئی ڈسک اور inode گنجائش — ایک WordPress ٹری اپنی ڈسک کی حد سے کافی کم رہتے ہوئے بھی فائلوں کی حد تک پہنچ سکتا ہے۔
- دونوں اطراف کے WordPress ورژنز، آیا سلاٹ نے پروویژننگ مکمل کر لی ہے، اور آیا پش کرنے کے لیے کوئی ریپوزیٹری منسلک ہے۔
یہ تنبیہ کرتا ہے؛ یہ کبھی روکتا نہیں ہے۔ ہر نتیجے کو zinnector push --force کے ساتھ اوور رائڈ کیا جا سکتا ہے، کیونکہ آپ اپنی سائٹ کے بارے میں ایسی چیزیں جانتے ہیں جو ایک چیکر نہیں جانتا۔ وہ موازنہ جو نہیں کیا جا سکا اسے unknown کے طور پر رپورٹ کیا جاتا ہے، کبھی پاس کے طور پر نہیں، اور خلاصہ ہمیشہ بتاتا ہے کہ ایسے کتنے تھے۔ پہلے سے طے شدہ طور پر مقامی PHP ورژن وہی ہوتا ہے جو zinnector.json میں اعلان کردہ ہے؛ --probe مقامی رن ٹائم کو بوٹ کرتا ہے اور اس کے بجائے اس کی پیمائش کرتا ہے۔ --strict نامعلوم پر بھی نان زیرو کے ساتھ ایگزٹ کرتا ہے، جس کی ایک CI گیٹ کو ضرورت ہوتی ہے۔
پش کریں
zinnector push
push پری فلائٹ چلاتا ہے، آپ کے کمٹس پش کرتا ہے، ڈیپلائی کا آغاز کرتا ہے اور اس کی تکمیل تک نگرانی کرتا ہے، نیز حتمی صورتحال اور ڈیپلائی شدہ کمٹ کو پرنٹ کرتا ہے۔ --dry-run ڈیپلائی کے علاوہ سب کچھ کرتا ہے؛ --no-wait اس کا آغاز کرتا ہے اور بند ہو جاتا ہے؛ --no-git پش کیے بغیر وہ سب کچھ ڈیپلائی کر دیتا ہے جو پلیٹ فارم کے پاس پہلے سے موجود ہے۔ اگر ڈیپلائی شدہ کمٹ وہ نہیں ہے جسے ابھی پش کیا گیا تھا، تو یہ اس کی اطلاع دیتا ہے۔
جب کوئی خرابی پیش آ جائے
zinnector deploys example.com # deploy history — status, commit, trigger, message
zinnector logs example.com --build # the build log of the most recent deploy
zinnector logs example.com --error # the site's error log
zinnector deploy example.com # redeploy what the platform already has
zinnector ai "why is my deploy failing?"
zinnector ai پلیٹ فارم پر آپ کے اپنے اکاؤنٹ کے تحت چلتا ہے، لہٰذا یہ وہی ڈیپلائی ہسٹری اور لاگز دیکھ سکتا ہے۔ پروجیکٹ کے اندر سے یہ پروجیکٹ کی ساخت بھیجتا ہے — ڈائریکٹری کے نام، ورژنز اور سائٹ کی id — اور کبھی بھی فائل کے مشمولات نہیں۔
متعلقہ مواد