برنامه نویسی

اعتبار سنجی درخواست برای AWS CodeCommit با استفاده از Lambda و CodeBuild

در مورد چیست

هنگامی که درخواست کشش مطرح می شود، باید Dockerfile را پر کنید یا آزمایش/بررسی CI انجام دهید. بیایید ببینیم که چگونه با استفاده از Codebuild و Lambda راه حلی برای AWS Codecommit بسازیم تا در صورت افزایش یا به روز رسانی یک PR بررسی را انجام دهیم.

مروری بر آنچه در حال ساختن هستیم

ci برای پایتون Dockerfile Lint

ما در اینجا یک نمونه راه حل برای انجام یک بررسی هادو لینت بر روی یک dockerfile زمانی که یک pr در codecommit مطرح می شود، می گیریم.

مرحله 1 – از کد موجود در repo برای ایجاد کد ساخت و توابع لامبدا استفاده کنید

کلون کردن مخزن https://github.com/uptownaravi/aws_codecommit_pr_validate.git
از فایل buildspec.yaml برای ایجاد پروژه ساخت کد استفاده کنید
و فایل خط مشی codebuild_role.json را برای مجوزهای ضروری مورد نیاز ارجاع دهید

ایجاد تابع lambda با استفاده از lambda_function.py و خط مشی مورد نیاز lambda_iam_role.json

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

یک قانون عروس رویداد ایجاد کنید تا زمانی که تغییر به‌روزرسانی وضعیت pr اتفاق می‌افتد فعال شود

{
  "source": ["aws.codecommit"],
  "detail-type": ["CodeCommit Pull Request State Change"],
  "resources": ["arn:aws:codecommit:< region >:< account number >:< 
 repository name>"]
}
وارد حالت تمام صفحه شوید

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

هدف را به عنوان تابع لامبدا که در مرحله بالا ایجاد شده است اضافه کنید

مرحله 3 – یک PR را بالا ببرید و آزمایش کنید که آیا Dockerfile پر شده است و نظرات اضافه می شود

هنگامی که pr را در کد commit افزایش دهید، قانون پل رویداد به آن واکنش نشان می دهد. تابع Lambda اجرا می شود و اطلاعات مورد نیاز برای انجام تست/بررسی CI را جمع آوری می کند. ساخت کد را با اطلاعات به عنوان پارامترهای نادیده گرفته و مقادیر محیط شروع می کند.
سپس Code Build، هاdo lint را روی Dockerfile اجرا می‌کند و نتیجه را به کد Commit از طریق دستورات aws cli اضافه می‌کند.

نظر در روابط عمومی پس از بررسی
روابط عمومی با نظر به روز

مرحله 4 – برای آزمایش CI بیشتر برای درخواست های کششی سفارشی کنید

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

ممنون که خواندید. لطفا اگر پیشنهادی برای بهبود دارید، نظر دهید.

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

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

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

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