راهاندازی CI/CD در برنامه با Github
برای راهاندازی CI/CD در GitHub میتوانید از قابلیت GitHub Actions استفاده کنید. در ابتدا یک پوشه به نام github. در مسیر اصلی پروژهتان ایجاد کرده و سپس پوشهی دیگری به نام workflows داخل آن ایجاد کنید تا مسیر github/workflows. در پروژهی شما قرار بگیرد. در این مسیر میتوان Actionهای مورد نظر را تعریف کرد بنابراین یک فایل با نام liara.yaml را در این مسیر ایجاد کرده و قطعهکد زیر را در این فایل قرار دهید:
در مثال فوق باید مقدار APP_NAME را با شناسهی برنامهتان در لیارا جایگزین کنید. در صورت نیاز به تنظیم پورتی مانند 3000 که برنامهی شما روی آن اجرا میشود لازم است پارامتر port=3000-- را هم برای دستور liara deploy تنظیم کنید.
در فیلد branches باید نام branch مدنظرتان را وارد کنید تا CI/CD روی آن، اعمال شود.
در قطعهکد فوق تمام مراحل لازم برای استقرار یک پروژه در لیارا تعریف شده است. در ابتدا ابزار Liara CLI نصب شده و سپس دستور liara deploy اجرا میشود. پس از شخصیسازی مقدار APP_NAME در فایل liara.yaml باید کلید دسترسی به API حسابتان را در بخش Secret تنظیمات ریپازیتوری GitHub اضافه کنید.
برای این کار وارد تنظیمات ریپازیتوری شوید و از منوی Secrets، روی گزینهی Actions کلیک کنید.
سپس برای تعریف یک Secret جدید، روی گزینهی New repository secret کلیک کنید. نام این Secret را LIARA_API_TOKEN و مقدار آن را از صفحهی کلید دسترسی به API کپی کرده و در بخش Value قرار داده و بر روی گزینهی Add secret کلیک کنید.
در آخر با push کردن فایل github/workflows/liara.yaml. در ریپازیتوری GitHub متوجه خواهید شد که یک pipeline بهصورت خودکار در تب Action ریپازیتوری شما اجرا شده است و شما نیز میتوانید مراحل استقرار پروژهی خود را در صفحهی تاریخچه دنبال کنید.
ریپازیتوری liara-cloud/github-cd-example شامل یک نمونه برنامهی کامل است که میتواند از طریق CI/CD در لیارا مستقر شود.
راهاندازی CI/CD به ازای هر branch
در برخی موارد، لازم است چند محیط جداگانه برای برنامهتان ایجاد کنید. به عنوان مثال ممکن است برنامهتان در سه محیط test, staging و production قرارداشته باشد و بخواهید برای هر محیط یک CI/CD جدا راهاندازی کنید. در این صورت، ابتدا باید سه برنامه و سه branch جدا ایجاد کنید. در این حالت، هر branch به یک برنامه اشاره دارد. سپس میبایست فایل github/workflows/liara.yaml. را به شکل زیر بنویسید:
توجه داشته باشید که در این مثال، branch های master, test و staging به ترتیب برای محیطهای production, test و staging انتخابشده اند. شما میتوانید با توجه به برنامه خود، نام branch ها را تغییر دهید. در سه دستور liara deploy نام برنامهها برای محیطهای production, test و staging به ترتیب my-production-app, my-test-app و my-staging-app انتخابشده است. شما باید با توجه برنامههای خود، نام برنامهها را تغییر دهید.