سلام دوست عزیز😃👋
به مسابقه «ورودی بوتکمپ کداستار - DevOps» خوش آمدی!
هرگونه ارتباط با سایر شرکتکنندگان و یا استفاده از ابزارهای تولید کد، مثل ChatGPT
و... در مسابقات کوئرا ممنوع است و بعد از شناسایی از لیست شرکتکنندگان مسابقه حذف میشوید.
میتوانید سوالها و مشکلات خود را از بخش «سوال بپرسید» با ما در میان بگذارید.
موفق باشید و بهتون خوش بگذره 😉✌
اسکواد کوئرا (Quera's Squad) که سردسته آنها علیشا (AliSha) میباشد، علاقه خاصی به رصد رفتار و تعاملات کاربران در محصولات مختلف کوئرا دارد. او همواره از ابزارهای مختلفی برای انجام این رصد و سنجیدن کیفیت کالجها و مسابقات کوئرا استفاده میکند. در این بین اما، فعالیتهای متعدد یک کاربر یعنی آقای فرهادیان (Mr. Farhadian) در بسیاری از کالجها و مسابقات کوئرا باعث شده است تا ابزارهایی که اسکواد از آنها برای تحلیل رفتار کاربران استفاده میکند، با توجه به حجم بسیار زیاد اطلاعات فعالیتهای این کاربر، از ارائه گزارش در مورد عملکردهای او ناتوان شده و از دسترس خارج شوند!
با توجه به نیاز علیشا برای تحلیل و بررسی عملکرد کاربران خاصی مانند آقای فرهادیان – که از فعالترین کاربران در پلتفرم کوئرا به شمار میرود – بهمنظور ارتقای کیفیت خدمات و محصولات ارائهشده و با در نظر گرفتن اینکه ابزارهای متداول در حال حاضر در دسترس نیستند، او از شما میخواهد تا با استفاده از یک فایل داکر کامپوز (Docker Compose)، یک Selenium Grid اختصاصی راهاندازی کنید.
این Grid شامل یک Selenium Hub و چندین Selenium Node خواهد بود که امکان جمعآوری (Scraping) دادهها و تحلیل عملکرد کاربران فعال کوئرا را فراهم میسازد. این زیرساخت به علیشا کمک خواهد کرد تا اطلاعات لازم برای بهبود هر چه بیشتر تجربه کاربران را بهدست آورد و تصمیمات مبتنی بر داده اتخاذ کند.
برای دانلود پروژهی اولیه روی این لینک کلیک کنید.
برای راهاندازی یک Selenium Grid برای جمعآوری دادههای کاربران، از یک فایل docker-compose.yml
استفاده خواهیم کرد. شما باید در فایل docker-compose.yml
سرویسهای زیر را تعریف کنید:
selenium-hub
ایجاد کنید.نام کانتینر را selenium-hub
قرار دهید.
پورت 4444
را به صورت 4444:4444
به میزبان متصل کنید.
با استفاده از ایمیج زیر، یک سرویس با نام chrome
ایجاد کنید:
chrome-node
باشد.با استفاده از ایمیج زیر، یک سرویس با نام firefox
ایجاد کنید:
firefox-node
باشد.علاوه بر راهاندازی یک Selenium Grid، علیشا که پیشتر با ابزار سلنیوم کار نکرده است، از شما میخواهد تا یک سرویس با نام nginx
نیز با استفاده از ایمیج زیر ایجاد کنید تا او بتواند با ابزاری که برای Selenium Grid راهاندازی کردهاید را روی آن تست کند:
nginx-server
باشد.8081:80
به میزبان متصل شود../nginx/html
باید به مسیر /usr/share/nginx/html
درون کانتینر متصل (Mount) شود.توجه: شما باید موارد خواسته شده در سوال را تنها در قالب فایل docker-compose.yml
پیادهسازی کرده و ارسال کنید. همچنین شما باید حتما تنها از ایمیجهای معرفی شده در متن سوال استفاده کنید. استفاده از سایر ایمیجها باعث عدم داوری ارسال شما خواهد شد.
توجه: شما اجازهی build کردن یک ایمیج جدید نخواهید داشت و باید از ایمیجهای استاندارد کوئرا استفاده کنید.
توجه: نام کانتینرها و سرویسها باید دقیقا عبارات گفته شده در متن سوال باشند.
توجه: سیستم داوری کوئرا بهصورت خودکار فایل docker-compose.yml
را با کامند up
اجرا میکند. شما نیازی به کد یا اسکریپتی برای اجرای این کار ندارید.
توجه: ورژن docker-compose.yml
باید 3.3
باشد.