روزی روزگاری، محمد از دست گیتلب به کفر آمد و تصمیم گرفت تا سرویسی برای شرکت در همین زمینه راهاندازی کند ولی به دلیل خستگی زیاد از شما خواسته تا به او در راستای این هدف کمک کنید.
در این تمرین، ما از شما میخواهیم یک سرویس gitea
را تنظیم و راهاندازی کنید. برای دانلود پروژه اولیه روی این لینک کلیک کنید.
جزئیات پروژه
- سرویس
gitea
شما باید روی پورت3000
اجرا شده باشد. - دیتای سرویس
gitea
نباید به هیچ عنوان از بین برود (یعنی اگر به هر دلیلی سرویس ها متوقف شدند، نباید هیچ دیتایی از دست رفته باشد.). - اگر سیستم به هر دلیلی با مشکلی مواجه شد، باید سرویس
gitea
بلافاصله مجددا اجرا شود. - پورت
ssh
سرویس برای محمد اهمیتی ندارد، برای اطمینان میتوانید از پورت222
استفاده کنید. - باید id کاربر و id گروهی که به دستورات
gitea
دسترسی دارند برابر با1000
باشد. - نام کانتینری که سرویس
gitea
را اجرا میکند باید برابر باgitea
باشد.
نکات تکمیلی
۱. شما تمامی تغییرات خود را درون فایل docker-compose.yml
اعمال کنید. شما تنها مجاز به ارسال این فایل خواهید بود و با دستور زیر فایل ارسالی شما درون سیستم داوری اجرا خواهد شد:
docker-compose up --no-build -d
پس از اجرای دستور بالا باید تمامی سرویسهای مورد نظر شما تنظیم و راهاندازی و اماده تست کردن باشند.
۲. شما تنها مجاز به استفاده از ایمیجهای موجود در این لینک هستید و میتوانید هر تعداد سرویس که نیاز دارید تنظیم و راهاندازی کنید تا به خواسته مسئله برسید. توجه داشته باشید که شما مجاز به استفاده از ایمیجهای دیگر نیستید و فقط میتونید از مجموعه ایمیجهای موجود در همین ایمیجرجیستری استفاده کنید.
۳. شما اجازهی build کردن یک Image جدید نخواهید داشت و باید از Imageهای استاندارد کوئرا استفاده کنید. بهطور خاص، برای gitea میتوانید از Image با آدرس زیر استفاده کنید:
registry.gitlab.com/qio/standard/gitea:1.16.8
۴. در صورت نیاز به دیتابیس، از ایمیجهای زیر نیز میتوانید استفاده کنید:
registry.gitlab.com/qio/standard/mysql:8.0
registry.gitlab.com/qio/standard/postgres:14.1
registry.gitlab.com/qio/standard/postgres:14.1-alpine
ارسال فایلهای اضافی
توجه کنید که هر فایل و محتوای دیگری به جز docker-compose.yml
که در فایل ارسالی شما قرار داشته باشد حذف خواهد شد.
در صورتی که نیاز دارید که فایلی علاوهبر docker-compose.yml
به سیستم داوری کوئرا ارسال کرده و در راهحل خود از آنها استفاده کنید، میتوانید از پوشهی data
استفاده کنید. برای این کار کافیست که پوشهای به نام data
در کنار docker-compose.yml
ایجاد کرده و برای سیستم داوری کوئرا ارسال نمایید.
services:
sample_container:
volumes:
- ./data/extrafile:/extrafile
فراموش نکنید که در این حالت، فایل extrafile
که volume شده است را درون پوشهی data
قرار داده و آن را برای سیستم داوری ارسال نمایید. برای مثال، پوشهی ارسالی شما برای داوری کوئرا به شکل زیر میتواند باشد:
.
├── data
│ └── extrafile
└── docker-compose.yml
توجه: سیستم داوری کوئرا بهصورت خودکار فایل docker-compose.yml
را با کامند up
اجرا میکند. شما نیازی به کد یا اسکریپتی برای اجرای این کار ندارید.
توجه: استفاده کردن از پوشهی data
، کاملاً به خواست شما بوده و ممکن است این سؤال بدون نیاز به استفاده از پوشهی data
حل شود.
نحوه ارسال پاسخ
شما تنها مجاز به تغییر در فایل docker-compose.yml
هستید و در صورت نیاز در کنار آن میتوانید پوشهای با نام data
نیز قرار داده و ارسال نمایید. تمامی فایلها یا پوشههای دیگر حذف خواهند شد!
ارسال پاسخ برای این سؤال