چگونه برنامه خود را با استفاده از Docker Containers و Postman تست کنید
بیایید API خود را با استفاده از Docker Containers و Postman آزمایش کنیم.
ما یک برنامه ساده CRUD ایجاد شده با استفاده از Node.js، Express و Postgres را آزمایش خواهیم کرد.
در این مثال از:
-
پستچی: برای آزمایش API ما.
-
نیومن: برای اجرای مجموعه پستچی ما.
-
بازی با Docker: برای استقرار برنامه ما.
-
Docker: برای اجرای برنامه ما.
اگر نسخه ویدیویی را ترجیح می دهید:
https://youtu.be/1eeR0LoIs-M
روش گام به گام
-
مقدمه
-
مخزن را کلون کنید و فایل docker-compose.yml را تغییر دهید
-
برنامه را به صورت محلی اجرا و تست کنید
-
برنامه ما را مستقر کنید.
-
مجموعه Postman را ایجاد و صادر کنید
-
برنامه را با استفاده از کانتینرها آزمایش کنید
-
نتیجه
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
خروجی باید مشابه این باشد:
برنامه را به صورت محلی تست کنید
در این مثال، ما فقط دو نقطه پایانی را آزمایش خواهیم کرد:
با استفاده از Postman میتوانیم a GET
درخواست به http://localhost:3000
و ما می توانیم یک GET
درخواست به http://localhost:3000/users
ما هیچ کاربری نداریم، بنابراین یک آرایه خالی دریافت می کنیم.
اکنون آماده استقرار این سرویس و آزمایش آن با استفاده از کانتینرها هستیم.
3. 🚢 برنامه را مستقر کنید
میتوانید از هر سرویس Container مانند AWS، Azure یا Google Cloud استفاده کنید.
بخش مهم این است که یک آدرس IP عمومی نهایی برای آزمایش آن با استفاده از Postman داشته باشید.
من از Play with Docker استفاده خواهم کرد که رایگان و آسان برای استفاده است.
با داکر بازی کنید
به این لینک مراجعه کنید: https://labs.play-with-docker.com/ و کلیک کنید Start
این یک جلسه 4 ساعته ایجاد می کند که در آن می توانید کانتینرهای خود را ایجاد و آزمایش کنید.
را کلیک کنید + Add new instance
و در سمت راست، باید یک ترمینال و نمونه را ببینید. این نمونه آدرس عمومی دارد.
برنامه را مستقر کنید
استقرار برنامه بسیار آسان است.
باید فایل docker-compose.yml را کپی کرده و در زمین بازی پیست کنیم.
می توانید این کار را با استفاده از ssh انجام دهید یا می توانید فایل را در زمین بازی بکشید و رها کنید.
با تایپ کردن، بررسی کنید که آیا فایل docker-compose وجود دارد یا خیر
ls
حالا بیایید همان دو دستوری را که قبلا اجرا کردیم به صورت محلی اجرا کنیم:
docker compose up -d node_db
docker compose up -d node_app
و بیایید آن را بررسی کنیم
docker ps -a
توجه داشته باشید که اکنون 2 پورت باز است: 3000
و 5432
اگر روی آن کلیک کنید 3000
جنب OPEN PORT
، باید برنامه را روی یک IP عمومی اجرا کنید (اگر از ارائه دهنده ابری استفاده می کنید، IP عمومی را بررسی کنید)
بیایید یک مثال بزنیم
4. 🗃️ مجموعه پستچی
Postman را باز کنید، و اگر قبلاً آن را ندارید، یک فضای عمومی جدید به نام هر چیزی که می خواهید ایجاد کنید.
در مورد من، من یک فضای کاری به نام ایجاد کردم public-francesco
حالا با کلیک کردن یک مجموعه جدید ایجاد کنید Create Collection
آن را به عنوان تغییر نام دهید postman-docker
جدید اضافه کنید GET request
در آدرس IP عمومی برنامه، و SAVE
آن (گوشه سمت راست بالا)
آن را کپی کنید (روی اولین درخواست کلیک راست کنید) و درخواست جدید را نامگذاری کنید Get All Users
این درخواست خواهد بود GET request to <public-server-ip>:/users
⚠️به یاد داشته باشید که درخواست ها را ذخیره کنید
میتوانید این مجموعه را با اجرای مستقیم آن در 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