پہلے کیا آیا - مرغی یا انڈا؟ بنیادی ڈھانچے کے طور پر کوڈ کے بارے میں ایک مضمون کے لئے ایک بہت ہی عجیب آغاز، ہے نا؟
انڈا کیا ہے؟
اکثر، بنیادی ڈھانچے کے طور پر کوڈ (IaC) بنیادی ڈھانچے کی نمائندگی کرنے کا ایک اعلانیہ طریقہ ہے۔ اس میں ہم اس حالت کو بیان کرتے ہیں جسے ہم حاصل کرنا چاہتے ہیں، ہارڈ ویئر کے حصے سے شروع ہو کر سافٹ ویئر کنفیگریشن کے ساتھ ختم ہوتا ہے۔ لہذا IaC استعمال کیا جاتا ہے:
وسائل کی فراہمی۔ یہ VMs، S3، VPC وغیرہ ہیں۔ کام کے لیے بنیادی اوزار: ٹرافیفار и کلاؤڈ فارمیشن.
کوئی بھی کوڈ گٹ ریپوزٹری میں ہوتا ہے۔ اور جلد یا بدیر ٹیم لیڈر فیصلہ کرے گا کہ انہیں ترتیب دینے کی ضرورت ہے۔ اور وہ ری ایکٹر کرے گا۔ اور یہ کچھ ڈھانچہ بنائے گا۔ اور وہ دیکھے گا کہ یہ اچھا ہے۔
یہ بھی اچھا ہے کہ یہ پہلے سے موجود ہے۔ GitLab и GitHub کےTerraform کے لیے فراہم کنندہ (اور یہ سافٹ ویئر کنفیگریشن ہے)۔ ان کی مدد سے، آپ پورے پروجیکٹ کا انتظام کر سکتے ہیں: ٹیم کے اراکین، CI/CD، git-flow، وغیرہ۔
انڈا کہاں سے آیا؟
تو ہم آہستہ آہستہ اصل سوال کے قریب پہنچ رہے ہیں۔
سب سے پہلے، آپ کو ایک ریپوزٹری کے ساتھ شروع کرنے کی ضرورت ہے جو آپ سمیت دیگر ریپوزٹریوں کی ساخت کو بیان کرتی ہے۔ اور یقینا، GitOps کے حصے کے طور پر، آپ کو CI شامل کرنے کی ضرورت ہے تاکہ تبدیلیاں خود بخود عمل میں آجائیں۔
اگر گٹ ابھی تک نہیں بنایا گیا ہے؟
اسے Git میں کیسے اسٹور کیا جائے؟
سی آئی کو کیسے انسٹال کریں؟
اگر ہم IaC کا استعمال کرتے ہوئے Gitlab کو بھی تعینات کرتے ہیں، اور یہاں تک کہ Kubernetes میں؟
اور گٹ لیب رنر بھی کبرنیٹس میں؟
کلاؤڈ فراہم کنندہ میں کبرنیٹس کے بارے میں کیا خیال ہے؟
سب سے پہلے کیا آیا: GitLab جہاں میں اپنا کوڈ اپ لوڈ کروں گا، یا وہ کوڈ جو یہ بتاتا ہے کہ مجھے کس قسم کی GitLab کی ضرورت ہے؟
پینل سے MY_SELECTEL_TOKEN حاصل کریں۔ my.selectel.ru.
اس میں ایک اکاؤنٹ ٹوکن منتقل کر کے Kubernetes کلسٹر بنائیں۔
بنائے گئے کلسٹر سے KUBECONFIG حاصل کریں۔
Kubernetes پر GitLab انسٹال کریں۔
صارف کے لیے بنائے گئے GitLab سے GitLab ٹوکن حاصل کریں۔ جڑ.
GitLab-token کا استعمال کرتے ہوئے GitLab میں پروجیکٹ ڈھانچہ بنائیں۔
موجودہ کوڈ کو GitLab پر پش کریں۔
؟
منافع!
1 مرحلہ. ٹوکن سیکشن میں حاصل کیا جا سکتا ہے۔ API کیز.
2 مرحلہ. ہم اپنے ٹیرافارم کو 2 نوڈس کے کلسٹر کو "بیکنگ" کے لیے تیار کرتے ہیں۔ اگر آپ کو یقین ہے کہ آپ کے پاس ہر چیز کے لیے کافی وسائل ہیں، تو آپ آٹو کوٹہ کو فعال کر سکتے ہیں:
8 مرحلہ. Gitlab فراہم کنندہ کا استعمال کرتے ہوئے Git ذخیروں کو درست درجہ بندی میں لانا۔
cd ../internal/gitlab/hierarchy && terraform apply -input=false -auto-approve planfile
بدقسمتی سے، ٹیرافارم گٹ لیب فراہم کنندہ کے پاس فلوٹنگ ہے۔ بگ. پھر tf.state کو ٹھیک کرنے کے لیے آپ کو متضاد پروجیکٹس کو دستی طور پر حذف کرنا ہوگا۔ پھر '$make all' کمانڈ کو دوبارہ چلائیں۔
9 مرحلہ. ہم مقامی ذخیروں کو سرور پر منتقل کرتے ہیں۔
ہم نے یہ حاصل کیا ہے کہ ہم اپنی مقامی مشین سے ہر چیز کو اعلانیہ طور پر منظم کر سکتے ہیں۔ اب میں ان تمام کاموں کو CI کو منتقل کرنا چاہتا ہوں اور صرف بٹن دبانا چاہتا ہوں۔ ایسا کرنے کے لیے، ہمیں اپنی مقامی ریاستوں (ٹیرافارم اسٹیٹ) کو CI میں منتقل کرنے کی ضرورت ہے۔ یہ کیسے کرنا ہے اگلے حصے میں ہے۔
ہمارے سبسکرائب کریں۔ بلاگتاکہ نئے مضامین کی رہائی سے محروم نہ رہیں!