زبانهای برنامهنویسی
Java، Python، Golang، PHP، Laravel، NodeJS، …
در منوی PaaS در قسمت «ساخت اپلیکیشن» و مراجعه به دستهبندی «زبانهای برنامهنویسی»، میتوانید از بین گزینههای موجود، مورد مدنظر خود را پیدا کرده و با کلیک بر روی آن و بعد کلیک روی «پیکربندی»، نسبت به ساخت زبانهای برنامهنویسی اقدام کنید. به طور کلی در این بخش، یک پلتفرم داریم که تمام پیشنیازهای زبان موردنظر شما در آن فراهم شده تا کد شما روی آن میزبانی شود.
در این دستهبندی تعدادی تنظیمات مشترک بین اپهای موجود در این قسمت وجود دارد که هنگام ساختن هرکدام از این اپها با آنها مواجه خواهید شد؛ این تنظیمات عبارتند از:
تنظیمات اولیه: در این پنجره شما مواردی همچون «نام پروژه» (که قبلا شرح داده شد)، «نام اپلیکیشن»، «نام دامنه» و پارامترهای مربوط به هر اپ که عموما این گزینه شامل «Application Port» است را میتوانید وارد کنید که موارد ذکرشده غالبا در ابتدا یک مقدار پیشفرض خواهند داشت که میتوانید با کلیک بر روی هر آیتم آن را تغییر دهید.
لطفا در انتخاب Namespace (یا همان نام پروژه) به این نکته توجه داشته باشید که تمامی اطلاعات اتصال مانند گیت به همراه متغیرها متناسب با Namespace (نام پروژه) انتخابی شما بارگذاری خواهد شد.
نکتهای که در مورد Application Port در آخر این پنجره وجود دارد، این است که پورتی که در سورس کد شما تعریف شدهاست، باید با پورت تعریفشده برای تمپلیت در این قسمت یکسان باشد و امکان تعریف پورت زیر ۱۰۰۰ وجود ندارد.
متغیر محیطی (اختیاری): در این پنجره دو گزینه «وارد کردن دستی متغیرها» و «آپلود فایل env.» وجود دارد که از طریق یک سوییچ میتوانید گزینه مدنظر خود را انتخاب کنید:
وارد کردن دستی متغیرها: اگر انتخاب شما این مورد باشد، 3 انتخاب دیگر از بین گزینههای ENV،Config Map و Secret دارید که در بخش ENV لازم است در همان قسمت نام متغیر و مقدار آن را وارد کرده و پس از هر بار وارد کردن، یک بار روی دکمه «+ افزودن متغیر» کلیک کنید تا متغیرهای شما به لیست اضافه شود.
در بخش Config Map و Secret، باید Config/Secret ای که قبلا طبق توضیحات در منوی PaaS ساختید را با وارد کردن نام و انتخاب کلید کانفیگ/سکرت از بین گزینههای موجود انتخاب کنید.
آپلود فایل .env: اگر انتخاب شما این مورد باشد، میتوانید فایل .env خود را در کادر مشخص شده آپلود کنید. دقت بفرمایید که نام این فایل فقط باید «.env» باشد، در غیر این صورت فایل شما تشخیص داده نخواهد شد.
پارامترهای اختیاری: در این قسمت شما میتوانید گزینههایی مانند Context_dir و Version را وارد کنید که البته مقادیری به صورت پیشفرض خواهند داشت که میتوانید آنها را تغییر دهید.
دو مورد بالا در اپهای زبان برنامهنویسی مشترک است ولی امکان دارد موارد دیگری نیز برای هر اپ به صورت مجزا وجود داشته باشد که در این حالت در توضیحات اپ آورده شده است.
و بعد از تمامی مراحل بالا نوبت به اتصال به منبع کد میرسد که گزینه آن در تصاویر بالا در پایین پنجره به رنگ آبی است:
در این جا سه دستهبندی Git، Private Git و آپلود فایل وجود دارد:
Git: اگر این مورد انتخاب شود، در پنجره پیش روی شما یک سوییچ وجود دارد:
حالت «Public Repository»: حالت پیشفرض بوده و به یک ریپازیتوری Gitlab، Github و… اشاره میکند که امکان دسترسی عمومی به آن باز بوده و اصطلاحا Public است و آدرس آن در قسمت «URL» وارد میشود؛ به این ترتیب که توسط یک drop down اول باید نوع ریپازیتوری اعم از Gitlab، Github، Bitbucket و custom مشخص شود که در حالت custom اگر ریپازیتوری مورد نظر در لیست وجود نداشت، باید کل آدرس منبع کد به صورت دستی وارد شود. در زیر URL شما باید Branch مورد نظر را تعیین کنید و لطفاً توجه داشته باشید که Branch تعریفشده در ریپازیتوری باید با Branch تعریفشده در این قسمت یکسان باشد.
حالت «Private Repository»: در این حالت اگر ریپازیتوری شما خصوصی یا Private باشد و دسترسی عمومی آن باز نباشد، در ابتدا میبایست در پایین همین پنجره روی دکمه «دسترسی به GitHub» کلیک کنید تا یک Tab جدید در مرورگر شما باز شود که از شما درخواست میکند اول در GitHub خود لاگین کرده و در مرحله بعد «Platform as a Service» را Authorize کنید. مانند تصویر زیر:
که بعد از کلیک بر روی دکمه سبز رنگ تصویر بالا، مجددا به همان صفحه اتصال به منبع کد هدایت میشوید و باید Repository و Branch را مشخص کنید.
نکته مهم این است که برخی از مرورگرها از جمله Mozilla FireFox امکان باز کردن Tab جدید برای وبسایتها را محدود میکنند که باید قبل از اقدام به استفاده از این گزینه، از باز بودن دسترسی abrha به باز کردن تب جدید اطمینان حاصل فرمایید.
دقت کنید که در حال حاضر در این قسمت فقط گزینه اتصال به GitHub Private Repository وجود دارد و فعلا ریپازیتوریهای دیگر پشتیبانی نمیشوند.
Private Git: اگر انتخاب شما این گزینه باشد، باید در ابتدا با کلیک بر روی drop down که «Account Name» نام دارد، و بعد انتخاب «+ New account»، با وارد کردن مشخصات اکانت شخصی ریپازیتوری خصوصی خود و کلیک بر روی «افزودن HTTPS URL» آن را ذخیره کنید؛ سپس در پنجره قبلی با کلیک روی همان drop down و انتخاب اکانتی که اضافه کردهاید، در نوار «HTTPS URL» باید به همان ترتیبی که نمایش داده شده، username و آدرس پروژه به صورت sample.git را وارد کنید (که در واقع همان آدرس کامل پروژه شما در ریپازیتوری است) و در ادامه در صورت نیاز Branch که به صورت پیشفرض main است را تغییر دهید. به تصاویر زیر توجه فرمایید:
آپلود فایل: اگر این گزینه را انتخاب کردید، باید فایل .zip خود را که قبلا از ریپازیتوری خود در قسمت دانلود پروژه دریافت کردهید، از طریق کادر مربوطه آپلود کنید.
دقت کنید که اگر پروژه شما در لوکال و در کامپیوتر شما قرار دارد و قصد این را دارید که به صورت دستی آن را zip کرده و آپلود کنید، root پروژه شما باید zip شود؛ به این معنا که با باز شدن فایل zip، باید root پروژه شما قابل رویت باشد، نه اینکه دایرکتوری حاوی پروژه را zip کنید؛ اگر قصد چنین کاری را دارید، حتما باید نام دایرکتوری حاوی پروژه در Context آن ذکر شود، در غیر این صورت با خطا مواجه خواهید شد.
در مرحله بعد، بر روی دکمه «تنظیمات منابع» در پایین همان صفحه کلیک کنید تا به مرحله پایانی یعنی تعیین منابع مورد نیاز وارد شوید:
این قسمت در بخش تنظیمات منابع توضیح داده شد.
در انتها با کلیک بر روی «ایجاد اپلیکیشن»، اپ شما ساخته خواهد شد.
نکته بسیار مهم در این جا این است که برای هر زبان برنامهنویسی تعدادی rule وجود دارد که جهت دیپلوی شدن برنامه شما در PaaS، پیروی از آنها ضروری است. این ruleها که به validation rules معروف هستند، برای هر زبان برنامهنویسی به صورت جداگانه شرح داده شده است.
داکر: در این دسته اگر شما برای کد خود داکرفایل نوشتهاید یا کد خود را به صورت ایمیج داکر در یک رجیستری سازمانی یا در رجیستری خود داکر قرار دادهید، میتوانید deploy کنید.
تنظیمات عمومی:
هنگامی که یک اپلیکیشن را انتخاب میکنید برای ساختن، تعدادی تنظیمات عمومی وجود دارد و تعدادی نیز تنظیمات مختص به هر اپ که در قسمت مربوط به هر اپ توضیح داده شدهاند.
۱- انتخاب نوع برنامه:
نوع برنامه را میتوانید از بین مواردی که در بخش «ساخت اپلیکیشن» توضیح داده شد انتخاب کنید، برای ساختن اپ در منوی PaaS، میتوانید در پنل کناری با انتخاب گزینه «ساخت اپلیکیشن» و بعد در پنجره «ساخت اپلیکیشن» گزینه «پیکربندی» را انتخاب کنید:
۲- تنظیمات برنامه:
در این قسمت به طور عمومی مواردی همچون نام پروژه، نام اپلیکیشن و نام دامنه را وارد کنید. با وارد کردن نام اپلیکیشن، نام دامنه نیز همان مقدار را میگیرد که البته میتوانید مقدار نام دامنه را به صورت مجزا تغییر دهید.
دسترسی عمومی به اپلیکیشن:
در برخی از اپها از جمله دیتابیسها، یک سوییچ به نام «دسترسی عمومی به اپلیکیشن» در وسط صفحه وجود دارد که اگر آن را روشن کنید، میتوانید به دیتابیس یا اپ خود در بیرون از PaaS و در local خود به آن متصل شوید. در غیر این صورت، تنها اپلیکیشنهایی قادر به اتصال به اپ خواهند بود که در PaaS و در همان پروژهای که اپ جدید در آن ساخته شده، ساخته شده باشند. دسترسی خارج از PaaS به این ترتیب خواهد بود که ساب دامین را حتما باید به همراه پورت سرویس از نوع NodePort استفاده کنید. (که بعد از ساخته شدن اپ در پنل PaaS و در منوی «بررسی اجمالی» با کلیک بر روی دکمه «مدیریت اپلیکیشن» روی اپ و مراجعه به منوی «تنظیمات دامنه و IP» قابل رویت خواهد بود.) همانطور که قبلا توضیح داده شد، این پورت در بازه 30000 خواهد بود.
${domain}:<NodePort>
در دستور بالا باید به جای عبارت ${domain} مقداری که هنگام ساخت اپ در قسمت sub-domain و به صورت SUB-DOMAIN>.apps.teh1.abrhapaas.com> وارد کردهاید را قرار دهید .
با توجه به تصویر بالا که NodePort معادل 32707 بوده و با فرض اینکه دامنه elastic-test.apps.teh1.abrhapaas.com باشد، برای اتصال به Elasticsearch ساخته شده در PaaS در بیرون از آن و از طریق پایتون، مانند بلاک کد مثال زیر میتوانید عمل کنید:
from elasticsearch import Elasticsearch
es = Elasticsearch(['http://elastic-test.apps.teh1.abrhapaas.com:32707'])
print(es.ping())
همانطور که قبلا در قسمت تنظیمات دامنه و IP شرح داده شد، در صورتی که روشن کردن سوئیچ دسترسی عمومی به اپلیکیشن فراموش شد یا بعدها به آن نیاز پیدا کردید، میتوانید با کلیک بر روی دکمه آبی رنگ «مدیریت پورتها»، نسبت به ساخت service از نوع NodePort اقدام کنید که بعد از ایجاد شدن سرویس، پورت آن در همان کادری که در تصویر بالا به رنگ قرمز مشخص شده، نمایش داده خواهد شد.
۳- تنظیمات منابع:
- در این بخش شما میتوانید موقعیت سرویس و بعد از آن منابع مصرفی اپ را تنظیم کنید. در قسمت تنظیم منابع شما از طریق یک سوییچ، دو گزینه خواهید داشت، گزینه پلن و گزینه شخصیسازی منابع:
- اگر شما گزینه پلن را انتخاب کنید، با 3 پلن -که هر یک پیشنهاد منابع مختلفی را ارائه میدهند- مواجه خواهید شد که برحسب نیاز خود میتوانید از بین آنها انتخاب کنید.
- با انتخاب گزینه شخصیسازی منابع، شما میتوانید به دو روش drop down و کشیدن slider و انتخاب دقیق منابع مصرفی مورد نیاز خود اقدام کنید. در این گزینه هزینه منابع مصرفی به ازای هر ساعت بر اساس انتخاب شما، در پایین صفحه محاسبه خواهد شد.
گزینه پلن:
گزینه شخصیسازی منابع:
در ادامه نحوه ساخت هرکدام را به تفصیل شرح خواهیم داد.