فرآیند CI/CD

(Continuous integration and Continuous Delivery)
ریپازیتوری liara-cloud/github-cd-example شامل یک نمونه برنامه‌ی کامل است که می‌تواند از طریق CI/CD در لیارا مستقر شود.

راه‌اندازی CI/CD به وسیله GitHub

برای راه‌اندازی CI/CD در GitHub از قابلیت GitHub Actions استفاده خواهیم کرد و شما نیز باید مراحل زیر را دنبال کنید.

در ابتدا یک پوشه با نام github. در مسیر اصلی پروژه‌‌تان ایجاد کرده و سپس پوشه‌ی دیگری با نام workflows را داخل آن ایجاد کنید تا مسیر .github/workflows در پروژه‌ی شما شکل بگیرد. در این مسیر می‌توان Actionهای مورد نظر را تعریف کرد بنابراین یک فایل با نام liara.yaml را در این مسیر ایجاد کرده و قطعه‌کد زیر را در این فایل قرار دهید:

name: CD-Liara
on:
  push:
    branches: [master]
jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: "16"
      - name: update-liara
        env:
          LIARA_TOKEN: ${{ secrets.LIARA_API_TOKEN }}
        run: |
          npm i -g @liara/cli@3
          liara deploy --app="APP_NAME" --api-token="$LIARA_TOKEN" --detach
در مثال فوق باید مقدار APP_NAME را با شناسه‌ی برنامه‌تان در لیارا جایگزین کنید.
در صورت نیاز به تنظیم پورتی مانند ۳۰۰۰ که برنامه‌ی شما روی آن اجرا می‌شود لازم است پارامتر--port=3000را هم برای دستورliara deployتنظیم کنید.

همان‌طور که مشاهده می کنید، در قطعه‌کد فوق تمام مراحل لازم برای استقرار یک پروژه در لیارا تعریف شده است. در ابتدا ابزار 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 ریپازیتوری شما اجرا شده است و شما نیز می‌توانید مراحل استقرار پروژه‌ی خود را در صفحه‌ی تاریخچه دنبال کنید.

;