نحوه استقرار برنامه های وب با استفاده از کمال در سال 2024: استقرار موثر برنامه کانتینری

استقرار یک برنامه وب کانتینری اغلب می تواند دلهره آور به نظر برسد. کمال ابزاری است که برای ساده‌سازی و استقرار برنامه‌های وب طراحی شده است و گردش کار شما را کارآمدتر و قابل اعتمادتر می‌کند.

در این مقاله، روش استقرار برنامه های وب با استفاده از کمال را خواهید آموخت روی یک محیط سرور خصوصی مجازی (VPS) ما همچنین چندین روش برتر را برای بهبود استقرار برنامه شما ارائه خواهیم داد process.

در پایان این راهنما، به خوبی مجهز خواهید شد تا از قدرت کمال برای پروژه های خود استفاده کنید. بیا شروع کنیم.

کمال یک ابزار استقرار است که انتشار کارآمد برنامه های وب را تسهیل می کند. این سرویس‌ها و عملیات ضروری را در یک جریان کاری منسجم ادغام می‌کند و استقرار برنامه وب با کمال را ساده‌تر و کمتر مستعد خطا می‌کند.

کمال که برای مدیریت و خودکارسازی استقرار برنامه های کاربردی وب طراحی شده است، پیچیدگی اغلب مرتبط با مدیریت سرور و سرویس دستی را کاهش می دهد. این اجازه می دهد تا توسعه دهندگان تمرکز کنند روی ساختن و به روز رسانی برنامه های وب خود بدون سربار تدارکات استقرار.

کمال از استقرارهای مختلف پشتیبانی می کند bare metal سرور به یک ماشین مجازی. این برنامه استقرار بدون توقف، راه‌اندازی مجدد، پل زدن دارایی، ساخت‌های راه دور و مدیریت خدمات لوازم جانبی جامع را ارائه می‌دهد.

با کمال، می‌توانید بدون زحمت برنامه‌های وب را مستقر کنید، سرورها را پیکربندی کنید، پایگاه‌های داده را مدیریت کنید و تعادل ترافیک را مدیریت کنید. این ابزار از محیط های مختلف پشتیبانی می کند و آن را برای استقرار برنامه های کاربردی وب در پلتفرم های مختلف همه کاره می کند.

چرا از کمال برای استقرار اپلیکیشن وب استفاده کنیم؟

مقام کمال homepageمقام کمال homepage

انتخاب کمال برای استقرار برنامه وب شما مزایای متعددی را برای توسعه دهندگان و مشاغل دارد. این چیزی است که کمال را متمایز می کند:

  • سادگی – رویکرد ساده کمال برای استقرار، منحنی یادگیری اغلب شیب دار مرتبط با سایر ابزارهای استقرار را کاهش می دهد. آن را ساده می کند process، استقرار برنامه را فقط با چند دستور لینوکس فعال می کند.
  • اتوماسیون – اتوماسیون کمال برای استقرار، گردش کار شما را ساده می کند. از به‌روزرسانی‌ها تا مقیاس‌بندی، کمال این کارها را خودکار می‌کند و تضمین می‌کند که آنها به‌سرعت و پیوسته کامل می‌شوند. این یعنی زمان کمتر روی فرآیندهای دستی و موارد دیگر روی توسعه.
  • قابلیت اطمینان – با کمال، می توانید انتظار انتشار پایدار داشته باشید. استقرار ساختار یافته آن process خطاهایی را که می‌تواند با استقرار دستی رخ دهد به حداقل می‌رساند و از اجرای روان و مطمئن برنامه وب شما اطمینان می‌دهد.
  • مناسب بودن – کمال به طور استثنایی با محیط های Linux VPS سازگار است. همراستایی آن با سرورهای لینوکس به این معنی است که می توانید از پتانسیل کامل و انعطاف پذیری استقرار برنامه ها استفاده کنید روی میزبانی VPS لینوکس.

روش استقرار برنامه های وب با استفاده از کمال

در این بخش، یاد خواهید گرفت که چگونه از کمال برای ساده کردن استقرار اپلیکیشن وب خود استفاده کنید process.

1. برای استقرار آماده شوید

چه با استفاده از یک ماشین محلی یا یک سرور مجازی، آماده سازی پیش نیازها، استقرار نرم افزار وب با کمال را تضمین می کند. در این مثال، ما استفاده خواهیم کرد هاستینگerمیزبانی VPS برای تنظیم محیط خود برای استقرار یک برنامه وب.

هاستینگerVPS سرور قابل اعتمادی را ارائه می دهد که زمینه را برای نیازهای استقرار شما فراهم می کند. اقدامات امنیتی درجه یک، مقیاس پذیری آسان برای رشد در کنار برنامه شما و دستیار هوش مصنوعی برای ساده سازی فرآیندهای توسعه و استقرار شما فراهم می کند.

پس از آماده سازی VPS خود، با PuTTY یا هر سرویس گیرنده SSH دیگری به سرور خود دسترسی پیدا کنید. سپس بسته های لینوکس خود را با دستورات SSH زیر به روز کنید:

sudo apt-get update && sudo apt-get upgrade

در مرحله بعد، محیط نرم افزار مورد نیاز برنامه وب خود را تنظیم کنید، که ممکن است شامل نصب یک وب سرور مانند Apache یا NGINX و راه اندازی پایگاه داده مانند MySQL یا PostgreSQL باشد. همچنین مهم است که سرور خود را با فایروال و کلیدهای SSH برای دسترسی ایمن ایمن کنید.

اگر در حال توسعه برنامه Rails هستید، مطمئن شوید که آن را نصب کرده اید Ruby روی چارچوب ریل. در غیر این صورت، می توانید Docker را نصب کرده و کانتینرها را برای برنامه خود مدیریت کنید.

2. نصب و استقرار با کمال

پس از آماده شدن محیط، نصب کمال را ادامه دهید. برای کسانی که دارای یک Ruby محیط، کمال را به صورت جهانی نصب کنید روی VPS لینوکس شما با دستور زیر:

gem install kamal

این باعث می شود کمال از هر دایرکتوری در سرور شما قابل دسترسی باشد.

اگر Containerization را در استقرار کمال ترجیح می دهید، تصویر Docker را بکشید و یک نام مستعار در فایل پیکربندی پوسته خود تنظیم کنید. این به شما امکان می دهد تا از دستورات کمال بدون نصب وابستگی ها استفاده کنید روی سرور شما

بعد، به مسیر بروید پیکربندی دایرکتوری را باز کنید deploy.yml فایل. در اینجا می‌توانید جزئیاتی مانند مراحل استقرار، آدرس‌های IP عمومی و URL مخزن را برای کنترل نسخه با کمال مشخص کنید.

شما deploy.yml فایل همچنین شامل جزئیات رجیستری خواهد بود. اگر از Docker Hub استفاده می کنید، نیازی به تعیین سرور ندارید زیرا این سرور پیش فرض است.

در اینجا یک مثال اساسی از آنچه که deploy.yml محتوا ممکن است شامل موارد زیر باشد:

# Your web app name. Used to uniquely configure containers.
service: hey
# Your image host or container image name
image: 37s/hey
servers:
  - 192.168.0.1
  - 192.168.0.2
registry:
  # The container registry server, if you're not using Docker Hub
  # server: ghcr.io / ...
  username: registry-user-name
  password:
    secure: KAMAL_REGISTRY_PASSWORD
env:
  secret:
    secure: RAILS_MASTER_KEY
#Configure a custom healthcheck
healthcheck:
  path: /healthz
  port: 4000
  max_attempts: 7
  interval: 20s

به یاد داشته باشید که اعتبار خود را با تعویض ایمن نگه دارید KAMAL_REGISTRY_PASSWORD با توکن دسترسی به رجیستری Docker شما.

با تنظیم فایل پیکربندی، زمان شروع استقرار فرا رسیده است process. برای استقرار اولیه، اجرا کنید:

kamal setup

این کار سرورهای شما را با ایجاد دایرکتوری ها، تنظیم مجوزها و انجام سایر وظایف مورد نیاز آماده می کند.

برای استقرارهای بعدی، از:

kamal deploy

این دستور وظایف مشخص شده در شما را اجرا می کند deploy.yml فایل، مانند به روز رسانی کد، مهاجرت، و راه اندازی مجدد سرویس.

پیشنهاد می‌کنیم بخوانید:  روش استفاده از دستور Linux Locate برای یافتن هر فایل

3. Push Environment Files

برای استقرار موثر برنامه وب خود با استفاده از کمال، مدیریت دقیق فایل های محیطی خود بسیار مهم است. این فایل ها حاوی متغیرهای محیطی هستند که برای پیکربندی برنامه شما در تنظیمات مختلف توسعه، آزمایش و تولید حیاتی هستند.

به دلایل امنیتی، برنامه شماست ENV فایل ها هرگز نباید در کنترل نسخه گنجانده شوند. در عوض، از ویژگی‌های مدیریت محیط قوی کمال برای انتقال امن این فایل‌ها به سرور خود استفاده کنید.

با ایمن کردن فایل محیط خود در یک مکان ذخیره سازی امن شروع کنید. استفاده را در نظر بگیرید هاستینگerVPS برای مدیریت قابل اعتماد متغیرهای محیطی برنامه شما، اطمینان از اینکه آنها به طور ایمن اعمال می شوند و به طور مداوم در طول استقرار حفظ می شوند.

در مرحله بعد، از کمال انو هل دستور انتقال امن فایل به سرور شما.

هر زمان که متغیرهای محیطی موجود را در خود اضافه کنید یا تغییر دهید ENV به یاد داشته باشید که این به روز رسانی ها را با استفاده از سرورهای راه دور خود فشار دهید کمال انو هل. قبل از اجرای کمال مستقر دستور، این مرحله را کامل کنید تا از استقرار خود اطمینان حاصل کنید process متغیرهای به روز شده را در برنامه شما قرار می دهد container.

این رویه‌ها برای کارکرد مناسب کانتینرها و سرویس‌های Docker حیاتی هستند، زیرا به آنها متکی هستند روی تنظیمات پیکربندی صحیح ارائه شده توسط متغیرهای محیطی.

4. دستورات را اجرا کنید روی سرورها

برای ساده‌سازی مدیریت برنامه‌های وب، کمال یک ویژگی کاربرپسند ارائه می‌کند که به شما امکان می‌دهد دستورات را در زیرساخت سرور خود به طور موثر اجرا کنید.

به عنوان مثال، برای اجرای یک دستور روی تمام سرورهای خود را بررسی کنید Ruby نسخه، شما استفاده می کنید:

kamal app exec 'ruby -v'

خروجی تایید خواهد کرد Ruby نسخه روی هر برنامه host، مثلا:

App Host: 192.168.0.1
ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]
App Host: 192.168.0.2
ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]

برای هدف قرار دادن فقط سرور اصلی، دستور به صورت زیر خواهد بود:

kamal app exec --primary 'cat .ruby-version'

اگر نیاز به اجرای یک دستور مرتبط با Rails در تمام سرورها دارید، مانند بررسی تنظیمات محیط Rails، موارد زیر را وارد خواهید کرد:

kamal app exec 'bin/rails about'

خروجی باید به شکل زیر باشد:

App Host: 192.168.0.1
About your application's environment
Rails version:             7.1.0.alpha
Ruby version:              ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]
RubyGems version:          3.3.26
Rack version:              2.2.5
Middleware:                ActionDispatch::HostAuthorization, Rack::Sendfile, ActionDispatch::Static, ActionDispatch::Executor, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, ActionDispatch::RemoteIp, Rails::Rack::Logger, ActionDispatch::ShowExceptions, Action Dispatch::DebugExceptions, Action Dispatch::Callbacks, Action Dispatch::Cookies, Action Dispatch::Session::CookieStore, Action Dispatch::Flash, Action Dispatch::ContentSecurityPolicy::Middleware, Action Dispatch::PermissionsPolicy::Middleware, Rack::Head, Rack::ConditionalGet, Rack::ETag, Rack::TempfileReaper
Application root:          /rails
Environment:               production
Database adapter:          sqlite3
Database schema version:   20221231233303

برای کارهای تعاملی بیشتر مانند راه اندازی Rails console یا یک جلسه بش، کمال این را ساده می کند process. فقط دستورات زیر را برای شروع یک جلسه bash در هر یک از تصاویر برنامه جدید اجرا کنید container یا Docker در حال اجرا container:

# New container bash session
kamal app exec -i bash
# Reuse the current container for bash session
kamal app exec -i --reuse bash
# New container Rails console
kamal app exec -i 'bin/rails console'

5. وضعیت سرور را با جزئیات کمال بررسی کنید

درک وضعیت سرورهای شما برای حفظ سلامت آنها و اطمینان از اجرای روان برنامه های شما بسیار مهم است. کمال روشی کارآمد برای نظارت بر این امر از طریق ارائه می دهد جزئیات فرمان

در حال اجرا جزئیات کمال یک عکس فوری از کانتینرهای شما، وضعیت آنها و روش عملکرد آنها به شما می دهد. در اینجا چیزی است که معمولاً خواهید دید:

برای ظروف Traefik:

Traefik Host: 192.168.0.1
CONTAINER ID   IMAGE    COMMAND                 CREATED          STATUS          PORTS
6195b2a28c81   traefik  "/entrypoint.sh…" 30 minutes ago   Up 19 minutes   0.0.0.0:80->80/tcp...

برای کانتینرهای برنامه شما:

App Host: 192.168.0.1
CONTAINER ID   IMAGE                     COMMAND          CREATED         STATUS          PORTS
badb1aa51db3   registry.domain.tld/...  "/rails/bin/…"  13 minutes ago  Up 13 minutes   3000/tcp

این خروجی به شما امکان می‌دهد به سرعت بررسی کنید که کانتینرها آماده و در حال اجرا هستند و پورت‌ها به درستی نقشه‌برداری شده‌اند، که نشان‌دهنده وضعیت سرور سالم است.

برای بازرسی متمرکزتر، می‌توانید جزئیات را به کانتینرهای مخصوص برنامه یا Traefik محدود کنید. جزئیات برنامه کمال یا جزئیات کمال ترافیک، به ترتیب.

این دستورات هدفمند دسترسی مستقیم به لاگ ها و container مشخصات، ساده کردن process مدیریت پیکربندی‌های محیط و ساده‌سازی مدیریت خطا در استقرار کمال.

6. استقرار بازگشت

وقتی استقرار طبق برنامه پیش نمی رود، کمال یک بازگشت ساده ارائه می دهد process. این شامل فعال کردن مجدد داکری است که قبلاً پایدار بود container. برای مدیریت بازگشت سریع و کارآمد، مراحل زیر را دنبال کنید:

ابتدا ظروف قدیمی موجود را با استفاده از کانتینرهای اپلیکیشن کمال فرمان این کانتینرهای فعال و غیر فعال را فهرست می کند. به دنبال آخرین فعال باشید container توسط برچسب تصویر یا شناسه آن قبل از استقرار ناموفق.

به عنوان مثال، ممکن است خروجی را مشاهده کنید که نشان می دهد:

App Host: 192.168.0.1
CONTAINER ID   IMAGE               COMMAND                  STATUS
1d3c91ed1f51   [previous_image]    "/rails/bin/docker-e…"   Up 19 minutes
539f26b28369   [failed_image]      "/rails/bin/docker-e…"   Exited (1) 27 minutes ago

برای عقب نشینی، اجرا کنید کمال عقبگرد [previous_image_tag]. کمال مشکل فعلی را متوقف خواهد کرد container و آخرین پایدار را مجددا راه اندازی کنید. با قبلی container قبلا، پیش از این روی را host، بازگشت به سرعت بدون خارج کردن مجدد از رجیستری اتفاق می افتد.

توجه داشته باشید که ظروف قدیمی به طور خودکار پس از سه روز پس از ظروف جدید پاک می شوند کمال مستقر، بنابراین توصیه می شود موفقیت استقرار خود را در این بازه زمانی تأیید کنید تا گزینه بازگشت سریع را حفظ کنید.

همچنین اطمینان از داشتن پشتیبان و بازیابی مناسب با کمال ضروری است تا در برابر مشکلات پیش بینی نشده محافظت کنید. هاستینگerمیزبانی VPS شامل پشتیبان گیری خودکار است که به طور یکپارچه قابلیت های بازگشت شما را افزایش می دهد.

7. با Kamal Remove سرورها را پاک کنید

مدیریت فضای سرور و عملکرد شامل حذف برنامه های استفاده نشده است. با کمال، تمیز کردن سرور شما ساده است. هنگام حذف کل یک برنامه، آن را اجرا کنید کمال حذف کن فرمان

سپس کمال تمام اجزای مرتبط با برنامه را حذف می کند روی سرور، از جمله توقف و حذف کانتینرهای Docker، پاک کردن هر تصویر Docker، و پاک کردن هر جلسه رجیستری مرتبط.

این دستور برای اطمینان از اینکه سرور شما بی نظم باقی می ماند و عملکرد بهینه ای دارد مفید است. با این حال، استفاده از این ویژگی با احتیاط ضروری است. قبل از دویدن کمال حذف کن، مطمئن شوید که از هر داده ای که می خواهید نگه دارید نسخه پشتیبان تهیه کنید.

8. Traefik را ریبوت کنید

هنگام مدیریت پراکسی معکوس سرور و متعادل کننده بار، ممکن است مواردی پیش بیاید که نیاز به راه اندازی مجدد Traefik داشته باشید، سرویسی که ترافیک HTTP شما را هدایت می کند. این نیاز معمولاً پس از به‌روزرسانی آرگومان‌ها یا برچسب‌های Traefik ایجاد می‌شود که برای اعمال تغییرات، نیاز به راه‌اندازی مجدد دارد.

برای راه اندازی مجدد Traefik با استفاده از Kamal، از دستور زیر استفاده کنید:

kamal traefik reboot

این سرویس Traefik را مجدداً راه اندازی می کند و پیکربندی های جدید شما را پیاده سازی می کند. با این حال، در یک محیط تولید، که در آن ثبات و زمان کار بسیار مهم است، ویژگی راه‌اندازی مجدد رولینگ را انتخاب کنید:

kamal traefik reboot --rolling

راه‌اندازی مجدد چرخشی به‌طور متوالی ظروف Traefik را مجدداً راه‌اندازی می‌کند، و از عدم خرابی و حفظ عملکرد متعادل بار مداوم اطمینان حاصل می‌کند. این رویکرد ایمن‌تر تضمین می‌کند که برنامه‌های کاربردی وب شما در حالی که به‌روزرسانی‌ها در پس‌زمینه انجام می‌شوند، در دسترس کاربران باقی می‌مانند.

پیشنهاد می‌کنیم بخوانید:  روش حذف نوار کناری وردپرس از هر صفحه/پستی (به صورت دستی + روش پلاگین)

بهترین روش ها برای استقرار برنامه های کاربردی وب با کمال

پس از یادگیری روش استقرار برنامه وب خود بر روی یک سرور، بیایید برخی از بهترین شیوه های استقرار کمال را برای مدیریت نرم و کارآمد برنامه وب بررسی کنیم.

گردش کار استقرار خود را خودکار کنید

استفاده از اتوماسیون کمال برای استقرار، کارهای تکراری دستی را به یک عملیات یک کلیک تبدیل می کند. دستورات و اسکریپت های کمال به شما این امکان را می دهد که راه اندازی اولیه، به روز رسانی و نگهداری مداوم برنامه های کاربردی وب خود را خودکار کنید و استقرار را انجام دهید. process سریعتر و قابل اطمینان تر با کاهش خطای انسانی.

ادغام ابزارهای اتوماسیون استقرار کمال در خطوط لوله CI/CD کارایی را بیشتر می کند. این خطوط لوله بهبود مستمر و به‌روزرسانی‌های یکپارچه را ترویج می‌کنند و جریانی بدون وقفه از توسعه تا استقرار را ممکن می‌سازند.

هاستینگerمیزبانی VPS به‌طور ایده‌آل برای این شیوه‌ها مناسب است، و یک دستیار هوش مصنوعی برای ساده‌سازی اتوماسیون اسکریپت برای مدیریت و مقیاس‌بندی برنامه‌های وب شما بدون دردسر ارائه می‌دهد. می توانید مشورت کنید هاستینگer دستیار VPS AI برای دستورالعمل ها روی خودکار کردن گردش کار استقرار شما

به عنوان مثال، یک درخواست VPS AI مانند “چگونه می توانم پشتیبان گیری از سرور پایگاه داده را با استفاده از کمال خودکار کنم؟”

سپس دستیار هوش مصنوعی ما یک راهنمای جامع گام به گام ارائه می دهد. برای گسترش می توانید سوالات بعدی را بپرسید روی هر مرحله اگر به جزئیات بیشتری نیاز دارید. این هاستینگer دستیار VPS AI همچنین می تواند الگوهای کد برنامه را برای سرعت بخشیدن به تنظیمات ارائه کند process.

روش استقرار برنامه های وب با استفاده از کمال در سال 1403: استقرار موثر برنامه کانتینریروش استقرار برنامه های وب با استفاده از کمال در سال 1403: استقرار موثر برنامه کانتینری
روش استقرار برنامه های وب با استفاده از کمال در سال 1403: استقرار موثر برنامه کانتینری 6

استقرار قفل و عملیات همزمان ایمن

مدیریت عملیات همزمان هنگام استقرار برنامه های کاربردی وب برای جلوگیری از درگیری و حفظ یکپارچگی برنامه های شما ضروری است. کمال این کار را با یک ویژگی قفل استقرار تسهیل می کند، یک مکانیسم هماهنگی که اجازه می دهد تنها یک استقرار در یک زمان انجام شود.

در اینجا روش گنجاندن قفل استقرار در استراتژی‌های استقرار کمال آمده است:

قبل از استقرار

یک قفل استقرار را برای جلوگیری از همپوشانی فرآیندهای استقرار با استفاده از دستور شروع کنید کمال لاک کسب -m “دلیل شما برای قفل کردن”. این باعث ایجاد یک kamal_lock فهرست راهنما روی سرور اصلی، نشان می دهد که یک استقرار process در جریان است.

در طول استقرار

وضعیت قفل را با وضعیت قفل کمال برای تعیین اینکه چه کسی و برای چه هدفی قفل را راه اندازی کرده است، و همچنین اینکه کدام نسخه در حال استفاده است. ممکن است خروجی مشابه این را ببینید:

Locked by: A.N. Other روی 1402-03-24 09:49:03 UTC
Version: 77f45c0686811c68989d6576748475a60bf53fc2
Message: Automatic deploy lock

این خروجی به شما کمک می کند تا در مورد فعالیت های استقرار مداوم مطلع شوید و تضمین می کند که هیچ عملیات متضادی انجام نمی شود.

پس از استقرار موفقیت آمیز

استقرار خود را با آزاد کردن قفل استقرار به پایان برسانید انتشار قفل کمال. این اقدام برای پاکسازی محیط برای پیاده سازی های آتی و اطمینان از عملیات استقرار مداوم بسیار مهم است.

از کمال هوک استفاده کنید

کمال ارائه می کند hook سیستمی که به توسعه دهندگان اجازه می دهد تا اسکریپت های سفارشی را در نقاط از پیش تعریف شده در استقرار اجرا کنند processارائه اتوماسیون مناسب و اطمینان از یکپارچگی و قابلیت اطمینان استقرار. آنها در چهار نوع هستند:

  • قلاب ها را از قبل وصل کنید – قبل از اینکه کمال قفل استقرار را بگیرد و قبل از اتصال به هاست های راه دور اجرا می شود. این قلاب ها برای کارهای گرم کردن DNS مفید هستند.
  • قلاب های پیش ساخته – قبل از ساخت اجرا کنید process شروع می شود و امکان اعتبارسنجی های پیش از ساخت مانند بررسی تغییرات غیرمتعهد یا اطمینان از یکپارچگی مداوم (CI) را فراهم می کند.
  • قلاب های پیش از استقرار – درست قبل از شروع استقرار فعال می شود، مناسب برای بررسی های نهایی مانند تأیید تکمیل CI.
  • قلاب های پس از استقرار – پس از استقرار، استقرار مجدد یا بازگشت فعال می شود hook. قلاب‌های پس از استقرار می‌توانند اعلان‌های استقرار را ارسال کنند یا نسخه جدید را با سیستم مدیریت عملکرد برنامه (APM) ثبت کنند.

اسکریپت های موجود در این قلاب ها به طیف وسیعی از موارد دسترسی دارند کمال_* متغیرهای محیطی، که زمینه دقیقی را در مورد استقرار، از جمله مهرهای زمانی، اطلاعات کاربر، جزئیات نسخه، و host لیست ها اگر هر اسکریپتی با وضعیت غیر صفر خارج شود، استقرار process برای جلوگیری از انتشار خطاهای احتمالی، سقط خواهد شد.

در اینجا یک نمونه از ایجاد post-deploy آورده شده است hook اسکریپتی که با استفاده از کمال_* متغیرها:

#!/usr/bin/env bash
curl -q -d "content=[My App] ${KAMAL_PERFORMER} Rolled back to version ${KAMAL_VERSION}" https://3.basecamp.com/XXXXX/integrations/XXXXX/buckets/XXXXX/chats/XXXXX/lines

این اسکریپت پیامی ارسال می‌کند که نشان می‌دهد چه کسی بازگشت و به کدام نسخه انجام داده است.

در مواقعی که نیازی به قلاب نیست، می توانید با استفاده از آن ها را دور بزنید – skip_hooks پرچم در طول دستورات استقرار، که از اجرای این اسکریپت های سفارشی جلوگیری می کند.

نتیجه

در طول این راهنما، متوجه شده اید که کمال چیست، مزایای آن و مراحل استقرار برنامه های وب با استفاده از کمال روی یک VPS لینوکس. همچنین نکات استقرار کمال مانند اتوماسیون گردش کار، ایمن سازی عملیات با Deploy lock و بهینه سازی فرآیندها با قلاب کمال را آموخته اید.

همانطور که به دنبال بهبود برنامه های وب خود هستید، استفاده از آن را در نظر بگیرید هاستینگerمیزبانی VPS. برنامه های ما از همین الان شروع می شود 6.49 دلار در ماه، هر کدام با مجموعه ای از ویژگی ها برای ارتقای موفقیت شما بسته بندی شده است.

اینها شامل عکس‌های فوری رایگان، پشتیبان‌گیری هفتگی خودکار، و دسترسی به دستیار هوش مصنوعی است که هر کدام برای تکمیل استراتژی استقرار شما و افزایش عملکرد پروژه شما طراحی شده‌اند.

در آغوش گرفتن قدرت هاستینگerمیزبانی VPS برای استقرار برنامه های تحت وب با قدرت کمال شما. با کلیک بر روی بنر زیر، پتانسیل کامل حضور آنلاین خود را آزاد کنید!

سایر ابزارهای استقرار و کانتینرسازی را بیاموزید

داکر چیست و چگونه کار می کند؟
یادگیری مبانی Kubernetes
روش نصب جنکینز روی اوبونتو
راهنمای نصب و راه اندازی Redis روی اوبونتو

استقرار برنامه های وب با استفاده از پرسش های متداول کمال

این بخش به رایج ترین سوالات در مورد روش استقرار برنامه های وب با استفاده از کمال پاسخ می دهد.

پیش نیازهای استفاده از کمال برای استقرار برنامه های وب چیست؟

قبل از استقرار با کمال، مطمئن شوید که دستگاه شما Git را برای کنترل نسخه، دسترسی SSH به سرور شما برای اتصالات ایمن، و یک محیط برنامه Rails با وابستگی‌های لازم برطرف شده، نصب کرده است. این پیش نیازها برای استقرار یکپارچه کمال بسیار مهم است process.

آیا می توانم انواع مختلف برنامه های وب را با کمال اجرا کنم؟

بله، کمال می تواند انواع مختلفی از برنامه های کاربردی وب را فراتر از برنامه های Rails اداره کند. این یک سیستم استقرار انعطاف‌پذیر مناسب برای چارچوب‌های مختلف برنامه‌های کاربردی وب ارائه می‌کند و اطمینان حاصل می‌کند که توسعه‌دهندگان می‌توانند پروژه‌های خود را بدون توجه به فناوری زیربنایی به طور مؤثر اجرا کنند.

آیا کمال برای مقیاس بندی برنامه های وب مناسب است؟

کمال برای مقیاس‌بندی برنامه‌های وب ایده‌آل است زیرا از استقرار در چندین میزبان پشتیبانی می‌کند و با یک متعادل کننده بار ادغام می‌شود، که برای توزیع ترافیک و اطمینان از در دسترس بودن بالا با گسترش پایگاه کاربر و ترافیک شما ضروری است.