اعتبار سنجی درخواست برای AWS CodeCommit با استفاده از Lambda و CodeBuild
در مورد چیست
هنگامی که درخواست کشش مطرح می شود، باید Dockerfile را پر کنید یا آزمایش/بررسی CI انجام دهید. بیایید ببینیم که چگونه با استفاده از Codebuild و Lambda راه حلی برای AWS Codecommit بسازیم تا در صورت افزایش یا به روز رسانی یک PR بررسی را انجام دهیم.
مروری بر آنچه در حال ساختن هستیم
ما در اینجا یک نمونه راه حل برای انجام یک بررسی هادو لینت بر روی یک 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 را دیدیم، این راه حل را می توان گسترش داد و انواع مختلف آزمایش یا بررسی در درخواست های کشش را اضافه کرد.
ممنون که خواندید. لطفا اگر پیشنهادی برای بهبود دارید، نظر دهید.