خودکار سازی استقرار بوت بهار استقرار با AWS

در این راهنمای جامع ، من با راه اندازی یک خط لوله کامل CI/CD با استفاده از AWS CodePipeline برای استقرار یک برنامه بوت بهار در Elastic Beanstalk قدم می زنم. این چیزی است که ما پوشش خواهیم داد:
ابزارهای مورد استفاده
ابزار | نقش |
---|---|
رمز | مخزن git برای کد منبع |
کدگذاری | برنامه بوت بهار را می سازد و خروجی می کند .jar
|
خطی | Orchestrates منبع → ساخت → مراحل استقرار |
لوبیای الاستیک | محیط استقرار |
بیایید نمودار معماری را درک کنیم
-
منبع (مخزن GitHub)
- خط لوله از زمانی شروع می شود تغییر کد تحت فشار قرار می گیرد (متعهد) به مخزن GitHub خود.
- این رویداد خط لوله را تحریک می کند به طور خودکار – به استقرار دستی نیاز ندارد.
-
ساخت فاز (CodePipeline + CodeBuild)
- Codepipeline AWS تعهد را تشخیص می دهد و فرآیند CI/CD را آغاز می کندبشر
- این کد را به CodeBuild AWS، که:
- پروژه را می سازد (برنامه بوت بهار را کامپایل می کند).
- تست ها را اجرا می کند (واحد/ادغام).
- وضعیت ساخت را برمی گرداند (موفقیت یا عدم موفقیت) بازگشت به CodePipeline.
-
مرحله استقرار (لوبیای الاستیک)
- اگر ساخت موفقیت آمیز باشد ، CodePipeline به مستقر کردن مرحله
- من برنامه بوت بهار ساخته شده را مستقر می کند به AWS Elastic Beanstalk، یک محیط مدیریت شده که زیرساخت ها ، تعادل بار ، مقیاس گذاری و میزبانی برنامه را کنترل می کند.
مرحله 1: تنظیم مخزن
ابتدا یک مخزن GitHub برای پروژه بوت بهار خود ایجاد کنید. این به عنوان مخزن کد منبع ما خدمت می کند.
مخزن GitHub: https://github.com/suraj-kumar00/aws-springboot-ecommerce
مرحله 2: پیکربندی Elastic Beanstalk
با این تنظیمات ، محیط beanstalk الاستیک خود را ایجاد کنید:
- به آن بده نام درخواست و نام دامنه و همچنین در دسترس بودن را بررسی کنید.
- Java 17 را به عنوان سیستم عامل انتخاب کنید
- پرونده اولیه خود را بارگذاری کرده و نسخه را روی 1 تنظیم کنید
- پیکربندی تنظیمات دسترسی به سرویس:
- تنظیم نقش خدمات
- پیکربندی جفت کلید EC2
- مشخصات AWS Elastic Beanstalk را تنظیم کنید
- در مورد اولیه هیچ نمایه نمونه EC2 وجود ندارد ، بنابراین فقط روی جزئیات اجازه مشاهده کلیک کنید و نقش را مطابق با نقش AWS IAM ایجاد کنید.
مرحله 3: پیکربندی پایگاه داده
انتخاب کنید:
- VPC (در مورد من من پیش فرض را انتخاب می کنم)
- زیر شبکه های نمونه را انتخاب کنید
- زیر شبکه های پایگاه داده را انتخاب کنید
برای تنظیم پایگاه داده:
- ادغام پایگاه داده RDS را فعال کنید
- نام کاربری پایگاه داده را پیکربندی کنید
- رمز ورود امن پایگاه داده را تنظیم کنید
بعد از آن فقط روی Next کلیک کنید.
- اکنون در این مرحله فقط گروه امنیتی را انتخاب کنید و می توانیم آن را در گروه امنیتی EC2 برای باز کردن درگاه های سفارشی ویرایش کنیم:
دیگر این که تمام تنظیمات را به صورت نقص باقی می گذارد و به مرحله بعدی می روید.
- اکنون سیستم را به عنوان اساسی انتخاب کنید:
- و تمام تنظیمات را همانطور که هست بگذارید اما تغییر دهید
ENVIRONMENT VARIABLES
:
پس از آن روی مرحله بعدی کلیک کنید.
در آخرین مرحله فقط تمام پیکربندی ها را مرور کنید و ارسال کردن آن
مرحله 4: تنظیم خط لوله
CodePipeline AWS خود را ایجاد کنید:
- به AWS CodePipeline بروید و یک خط لوله جدید ایجاد کنید
- اکنون خط لوله ساخت سفارشی را انتخاب کرده است
- اکنون به خط لوله یک نام بدهید و تمام تنظیمات را به صورت پیش فرض بگذارید و روی بعدی کلیک کنید.
- اکنون انتخاب کنید
Other build providers
و ایجاد یک پروژه جدید:
نام پروژه را بدهید:
بعد از آن انتخاب کرد buildspec.yml
گزینه ها و بر روی ایجاد خط لوله کد.
- پس از آن انتخاب ، شما را به همان صفحه هدایت می کند و فقط روی مرحله بعدی کلیک می کند:
- اکنون در مرحله آزمایش ، ارائه دهنده را انتخاب کنید CodeBuild AWS و نام پروژه و ادامه:
-
اکنون در مرحله استقرار ارائه دهنده را به عنوان انتخاب کنید
AWS Elastic Beanstalk
بامنطقه ، نام برنامه و نام محیط.
پرونده های پیکربندی ضروری
این را اضافه کنید buildspec.yml
به ریشه پروژه خود:
شما باید تغییر دهید .jar
زیرا نام شما می تواند متفاوت باشد.
version: 0.2
phases:
install:
runtime-versions:
java: corretto17
pre_build:
commands:
- echo Build started on `date`
build:
commands:
- mvn clean install
artifacts:
files:
- target/Shopping_Cart-0.0.1-SNAPSHOT.jar
- Procfile
- .ebextensions/**/*
discard-paths: no
5. نمودار جریان اجرای خط لوله
این نتیجه اجرای خط لوله کد AWS است Taking the source, Building it and Deploying the new verion of the application to AWS Elastic Beanstalk
بشر
6 نتیجه:
برنامه در این آدرس مستقر شد: http://aws-springboot-ecommerce.ap-south-1.elasticbeanstalk.com/ (این کار اکنون کار نخواهد کرد زیرا من Steup را حذف کردم)
7. چالش ها و راه حل های مشترک
مسائل مربوط به اتصال به پایگاه داده:
-
Problem
: به دلیل مشکلات پیوند ارتباطی ، خرابی ایجاد کنید -
Solution
: برای آزمایش پایگاه داده در حافظه H2 را پیاده سازی کنید
نامگذاری پرونده JAR:
-
Problem
: خرابی استقرار به دلیل عدم تطابق پرونده JAR -
Solution
: نامگذاری مصنوعات مداوم را در تنظیمات حفظ کنید
بهترین روشها
شیوه های کلیدی برای دنبال کردن:
- تنظیمات تست و تولید جداگانه
- برای داده های حساس از متغیرهای محیط استفاده کنید
- پیکربندی مناسب پروکسی را پیاده سازی کنید
- قلاب های پس از استقرار را اضافه کنید
- نامگذاری مصنوعات مداوم را حفظ کنید
- رسیدگی به خطای مناسب و ورود به سیستم را پیاده سازی کنید
با تشکر از خواندن – شما را در مورد بعدی می بینیم!