برنامه نویسی

چگونه برنامه خود را با استفاده از Docker Containers و Postman تست کنید

بیایید API خود را با استفاده از Docker Containers و Postman آزمایش کنیم.

ما یک برنامه ساده CRUD ایجاد شده با استفاده از Node.js، Express و Postgres را آزمایش خواهیم کرد.

در این مثال از:

  • پستچی: برای آزمایش API ما.

  • نیومن: برای اجرای مجموعه پستچی ما.

  • بازی با Docker: برای استقرار برنامه ما.

  • Docker: برای اجرای برنامه ما.

اگر نسخه ویدیویی را ترجیح می دهید:
https://youtu.be/1eeR0LoIs-M

روش گام به گام

  1. مقدمه

  2. مخزن را کلون کنید و فایل docker-compose.yml را تغییر دهید

  3. برنامه را به صورت محلی اجرا و تست کنید

  4. برنامه ما را مستقر کنید.

  5. مجموعه Postman را ایجاد و صادر کنید

  6. برنامه را با استفاده از کانتینرها آزمایش کنید

  7. نتیجه

0. 🎬 مقدمه

ما از Docker و Postman استفاده خواهیم کرد:

🧑‍🚀 پستچی

Postman یک پلت فرم همکاری محبوب و کلاینت API (Application Programming Interface) است که به توسعه دهندگان اجازه می دهد API ها را طراحی، آزمایش و مستند کنند. این یک رابط کاربر پسند را فراهم می کند که به کاربران امکان می دهد یک API درخواست کنند و پاسخ را بررسی کنند و تست های خودکار را برای API ها ایجاد و مدیریت کنند.

علاوه بر این، Postman به تیم ها اجازه می دهد تا مجموعه ای از درخواست ها را به اشتراک بگذارند و در توسعه و آزمایش API همکاری کنند.

Postman بسیار جالب است، اما ما در این مقاله با استفاده از Docker آن را باورنکردنی تر خواهیم کرد.

🐳 داکر

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

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

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

1. 🧬 مخزن را کلون کنید

ما از یک پروژه جاوا اسکریپتی که در ویدیوی دیگری ایجاد کردم استفاده خواهیم کرد. این یک برنامه ساده CRUD با استفاده از Node.js، Express و Postgres است.

git clone https://github.com/FrancescoXX/crud-node-live.git
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون وارد مخزن شوید

cd crud-node-live
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

code .
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ما وارد جزئیات این اپلیکیشن نمی شویم. اگر می خواهید بدانید که این چگونه ساخته شده است، این لینک را بررسی کنید: https://youtu.be/1eeR0LoIs-M

فایل docker-compose.yml را تغییر دهید.

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

برای استفاده از مال من، آن را بردارید build دستورالعمل در خط 6، زیرا ما از یک تصویر موجود از Dockerhub استفاده خواهیم کرد

این فایل نهایی docker-compose.yml است (توجه داشته باشید که وجود ندارد build دستورالعمل)

version: "3.9"

services:
  node_app:
    container_name: node_app
    image: francescoxx/node_live_app
    ports:
      - "3000:3000"
    environment:
      - PG_DB=node_live_db
      - PG_USER=francesco
      - PG_PASSWORD=12345
      - PG_HOST=node_db
    depends_on:
      - node_db

  node_db:
    container_name: node_db
    image: postgres:12
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_DB=node_live_db
      - POSTGRES_USER=francesco
      - POSTGRES_PASSWORD=12345
    volumes:
      - node_db_data:/var/lib/postgresql/data

volumes:
  node_db_data: {}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2. 👟 اپلیکیشن را به صورت محلی اجرا و تست کنید

برنامه را به صورت محلی اجرا کنید

بیایید هر دو سرویس Docker (کانتینرها) را به صورت محلی اجرا کنیم.

کانتینر Postgres را اجرا کنید:

docker compose up -d node_db
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برنامه نود را اجرا کنید:

docker compose up -d node_app
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و بررسی کنید که آیا هر دوی آنها فعال هستند یا خیر:

docker ps -a
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروجی باید مشابه این باشد:

داکر ps -a

برنامه را به صورت محلی تست کنید

در این مثال، ما فقط دو نقطه پایانی را آزمایش خواهیم کرد:

با استفاده از Postman می‌توانیم a GET درخواست به http://localhost:3000

داکر ps -a

و ما می توانیم یک GET درخواست به http://localhost:3000/users

داکر ps -a

ما هیچ کاربری نداریم، بنابراین یک آرایه خالی دریافت می کنیم.

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

3. 🚢 برنامه را مستقر کنید

می‌توانید از هر سرویس Container مانند AWS، Azure یا Google Cloud استفاده کنید.

بخش مهم این است که یک آدرس IP عمومی نهایی برای آزمایش آن با استفاده از Postman داشته باشید.

من از Play with Docker استفاده خواهم کرد که رایگان و آسان برای استفاده است.

با داکر بازی کنید

به این لینک مراجعه کنید: https://labs.play-with-docker.com/ و کلیک کنید Start

داکر ps -a

این یک جلسه 4 ساعته ایجاد می کند که در آن می توانید کانتینرهای خود را ایجاد و آزمایش کنید.

را کلیک کنید + Add new instance

داکر ps -a

و در سمت راست، باید یک ترمینال و نمونه را ببینید. این نمونه آدرس عمومی دارد.

داکر ps -a

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

استقرار برنامه بسیار آسان است.

باید فایل docker-compose.yml را کپی کرده و در زمین بازی پیست کنیم.

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

داکر ps -a

با تایپ کردن، بررسی کنید که آیا فایل docker-compose وجود دارد یا خیر

ls
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

داکر ps -a

حالا بیایید همان دو دستوری را که قبلا اجرا کردیم به صورت محلی اجرا کنیم:

docker compose up -d node_db
docker compose up -d node_app
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و بیایید آن را بررسی کنیم

docker ps -a
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توجه داشته باشید که اکنون 2 پورت باز است: 3000 و 5432

داکر ps -a

اگر روی آن کلیک کنید 3000 جنب OPEN PORT، باید برنامه را روی یک IP عمومی اجرا کنید (اگر از ارائه دهنده ابری استفاده می کنید، IP عمومی را بررسی کنید)

داکر ps -a

بیایید یک مثال بزنیم

4. 🗃️ مجموعه پستچی

Postman را باز کنید، و اگر قبلاً آن را ندارید، یک فضای عمومی جدید به نام هر چیزی که می خواهید ایجاد کنید.

در مورد من، من یک فضای کاری به نام ایجاد کردم public-francesco

حالا با کلیک کردن یک مجموعه جدید ایجاد کنید Create Collection

داکر ps -a

آن را به عنوان تغییر نام دهید postman-docker

داکر ps -a

جدید اضافه کنید GET request در آدرس IP عمومی برنامه، و SAVE آن (گوشه سمت راست بالا)

داکر ps -a

آن را کپی کنید (روی اولین درخواست کلیک راست کنید) و درخواست جدید را نامگذاری کنید Get All Users

این درخواست خواهد بود GET request to <public-server-ip>:/users

داکر ps -a

⚠️به یاد داشته باشید که درخواست ها را ذخیره کنید

می‌توانید این مجموعه را با اجرای مستقیم آن در Postman آزمایش کنید:

خروجی اجرای مجموعه Postman

خروجی اجرای مجموعه Postman

اکنون آماده صادرات این مجموعه و آزمایش آن با استفاده از کانتینر هستیم

6. 🧪 برنامه را با استفاده از کانتینرها تست کنید

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

صادرات مجموعه پستچی

اکنون این مجموعه را به عنوان یک فایل JSON صادر کنید. می توانید این کار را با کلیک بر روی سه نقطه سمت راست نام مجموعه و سپس کلیک بر روی آن انجام دهید Export

صادرات مجموعه پورتمن

آن را به عنوان ذخیره کنید node-collection (بدون تمدید)

صادرات مجموعه پورتمن

اکنون زمان اجرای این مجموعه است.

مجموعه Postman را با استفاده از Newman اجرا کنید

⚠️ برای کاربران ویندوز: از Command Prompt یا Powershell استفاده کنید

به پوشه ای که فایل در آن قرار دارد بروید node-collection واقع شده است

صادرات مجموعه پورتمن

و این دستور را اجرا کنید:

docker run -v <postman-collection-path>:/etc/newman -t postman/newman run node-collection
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

جایگزین کردن <postman-collection-path> با مسیر پوشه ای که فایل در آن قرار دارد node-collection واقع شده است.

در مورد من، این است /c/workspace/postman-collection-test

صادرات مجموعه پورتمن

و لیستی از درخواست ها را دریافت خواهید کرد.

7. 🏁 نتیجه گیری

ما ساختیمش! ما برنامه را با استفاده از موارد زیر آزمایش کردیم:

  • مجموعه پستچی

  • انسان جدید

  • داکر

نسخه ویدیو: https://youtu.be/1eeR0LoIs-M

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا