ارائه دهنده خدمات ابری PaaS و DBaaS

فرآیند CI/CD

(Continuous integration and Continuous Delivery)
برای مشاهده‌ی نمونه‌ای واقعی از موضوعات گفته شده در زیر، مقاله راه‌اندازی CI/CD به وسیله GitLab و GitHub در لیارا را در وبلاگ لیارا مطالعه کنید.

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

برای راه اندازی CI/CD در GitLab شما به GitLab CI نیاز دارید. از این‌جا می‌توانید مستندات این ابزار را مطالعه کنید. در پایین به صورت کلی مراحل ایجاد CI/CD به وسیله GitLab آمده است:

گام اول) ابتدا نیاز دارید که فایلی تحت عنوان .gitlab-ci.yml در ریشه برنامه‌ی‌تان تعریف کنید. در پایین یک فایل نمونه می‌بینید:

image: node:12-alpine

stages:
  - update-production

deploy:
  stage: update-production
  only:
    - master
  script:
    - npm i -g @liara/cli@2
    - export http_proxy=http://proxy.liara.ir:6666
    - liara deploy --app $APP_NAME --detach --region iran --api-token $TOKEN

همانطور که می‌بینید شما در این فایل همه اتفاقات را تعریف می‌کنید. مثلا در فایل بالا ابزار Liara CLI را ابتدا نصب کرده‌ایم و سپس در ریشه برنامه دستور deploy را اجرا کرده‌ایم. در همین فایل می‌شود Test ها را اجرا کرد و مطمئن شد که برنامه‌‍ سالم است و اجازه آپدیت شدن دارد. GitLab CI امکانات بسیار خوبی برای CI/CD دارد و توصیه می‌کنیم حتما مستندات آن را مطالعه کنید.

سرویس GitLab ایران را به‌لیست تحریم خود اضافه کرده و بنابراین برای دیپلوی‌کردن در موقعیت ایران، لازم است که از پروکسی‌ای که در نمونه‌ی بالا قرار داده شده حتما استفاده کنید. برای دیپلوی در موقعیت آلمان نیازی به‌پروکسی نیست. همچنین اگر از GitLab.com استفاده نمی‌کنید و GitLab را به‌صورت خصوصی در شرکت خودتان راه‌اندازی کرده‌اید، نیازی به‌پروکسی ندارید.
در نمونه‌ی بالا، موقعیت جغرافیایی «ایران» در نظر گرفته شده‌است. اگر شما از موقعیت آلمان استفاده می‌کنید، لازم است که germanyرا در پارامتر --regionتنظیم کنید.

گام دوم) لیارا برای اجرای دستور deploy نیاز به نام یا همان شناسه برنامه و api-token دارد. البته اگر از liara.json استفاده کرده باشید نیازی به بخش شناسه نیست. کلید یا همان api-token شما در صفحه API در حساب کاربری شما وجود دارد که به راحتی می‌توانید آن را کپی کنید. سپس برای این که بتوانید از این اطلاعات در .gitlab-ci.yml استفاده کنید باید این اطلاعات را به بخش Variables در GitLab منتقل کنید. می‌توانید درباره این موضوع در مستندات Variables بیشتر مطالعه کنید. به صورت کلی شما هر key-value ای را که در بخش Variables تعریف کنید، در فایل .gitlab-ci.yml قابل استفاده می‌شود. مثلا در فایل بالا ما دو Variable با نام‌های TOKEN و APP_NAME داریم.

گام سوم) بعد از تعریف کردن همه موارد بالا با Push کردن فایل .gitlab-ci.yml برنامه شما وارد یک فرایند CI/CD می‌شود. لیارا از هر Commit Message شما برای توضیح هر استقرار استفاده می‌کند. استفاده از Commit Message های معنادار می‌تواند به شما در کار تیمی برای راحت‌تر فهمیدن علت هر استقرار کمک کند.