نمای کلی محیط ها

برای برنامه های تولیدی، باید یک گردش کار توسعه واضح را تنظیم کنید، به خصوص اگر بیش از یک نفر روی برنامه شما کار می کند. یک گردش کار توسعه معمولاً شامل راه اندازی و مدیریت چندین محیط است.

Firebase سطوح مختلفی از پشتیبانی از گردش کار توسعه دهندگان و محیط های سازنده دارد. هنگامی که با شرایط و مفروضات گردش کار برنامه‌نویس در این صفحه آشنا شدید، بهترین شیوه‌های عمومی و دستورالعمل‌های امنیتی عمومی ما را برای راه‌اندازی پروژه Firebase و برنامه‌های خود بررسی کنید.

درباره محیط ها

در توسعه نرم‌افزار، محیط به تمام سخت‌افزار و نرم‌افزاری گفته می‌شود که برای اجرای نمونه‌ای از یک برنامه یا سیستمی از برنامه‌ها مورد نیاز است.

مجموعه‌ای از محیط‌ها برای توسعه و آزمایش نرم‌افزار بدون تأثیر بر کاربران، جداسازی را فراهم می‌کنند. همانطور که در نمودار زیر نشان داده شده است، محیط های در سطح بالا به عنوان پیش تولید یا تولید در نظر گرفته می شوند و شما می توانید به تعداد مورد نیاز محیط های پیش تولید داشته باشید. این نمودار همچنین شیوه ها و ویژگی های رایج مرتبط با هر نوع محیط را توصیف می کند.

فرآیند پیشرفت یک ویژگی یا انتشار از طریق این محیط ها به تولید، خط لوله استقرار نامیده می شود.

نمودار نشان دهنده محیط هایی است که معمولاً خط لوله استقرار را تشکیل می دهند، از جمله توسعه، آزمایش و QA، مرحله بندی، و در نهایت تولید

انواع محیط ها

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

هر توسعه‌دهنده‌ای به یک محیط توسعه نیاز دارد - مکانی ایمن و ایزوله برای آزمایش تغییرات در حین ساخت. در حالت ایده آل، هر توسعه دهنده در تیم شما به محیط توسعه دهنده خود دسترسی دارد. همچنین، اگر محیط توسعه‌دهنده یک نمونه محلی باشد، یک توسعه‌دهنده می‌تواند بسیار سریع‌تر تکرار کند.

داده‌ها در یک محیط توسعه‌دهنده با داده‌هایی که عموماً شبیه داده‌های تولید هستند، تولید می‌شوند، اما هرگز نباید حاوی داده‌های واقعی کاربران باشند. همچنین ممکن است حاوی داده‌هایی باشد که در گذشته باگ‌هایی ایجاد کرده‌اند، مانند رشته‌های بسیار طولانی.

اگر تست‌های خودکار دارید، به محیطی نیاز دارید که آن تست‌ها را در آن اجرا کنید، و باید هر بار که محیط تست را بالا می‌برید، داده‌ها را بازنشانی کنید.

اگر مهندسان QA دارید، ممکن است به یک محیط نیاز داشته باشند که همه از آن استفاده می کنند، یا ممکن است برای آزمایش یک نامزد نسخه جدید به محیط های جداگانه نیاز داشته باشند.

داده‌ها در محیط‌های تست و QA با داده‌های باکیفیت که عموماً معرف داده‌های تولید هستند، همراه با داده‌هایی که موارد گوشه‌ای و نمونه‌هایی از داده‌هایی را نشان می‌دهند که در گذشته باگ‌هایی ایجاد کرده‌اند، کاشته می‌شوند.

برای آزمایش‌های واقع بینانه درباره نحوه عملکرد یک نسخه در تولید، به محیطی نیاز دارید که زیرساخت تولید را تا حد امکان تقلید کند. اگر نیاز به آزمایش ادغام های خاص به صورت مجزا دارید، معمول است که چندین نمونه مرحله بندی داشته باشید.

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

  • مرحله‌بندی ممکن است برخی از ویژگی‌ها یا ادغام‌هایی را که می‌توانند عوارض جانبی ایجاد کنند، از دست داده باشد. برای مثال، مرحله بندی ممکن است طوری تنظیم شود که ایمیل ارسال نشود.

  • مرحله‌بندی ممکن است داده‌های ناشناس داشته باشد. داده ها می توانند جعلی باشند، اما باید واقع بینانه باشند. از آنجایی که مرحله‌بندی مکانی برای اشکال‌زدایی ایمن مشکلات است، ممکن است به تیم گسترده‌تری نسبت به داده‌های تولید دسترسی به داده‌های مرحله‌بندی بدهید. بنابراین، برای محافظت از حریم خصوصی کاربر، نباید از داده های واقعی کاربر در مرحله بندی استفاده کنید.

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

برخلاف سایر محیط‌هایی که می‌توانید داده‌ها را تغییر دهید، حذف کنید، و/یا دوباره ایجاد کنید، داده‌های موجود در محیط تولید شما بسیار مهم است. از دست دادن یا تغییر داده های محصول شما مستقیماً بر کاربران شما تأثیر می گذارد.

در کنسول Firebase ، توصیه می کنیم پروژه Firebase مرتبط با محیط تولید خود را به عنوان یک نوع محیط "تولید" برچسب گذاری کنید. این برچسب می‌تواند به شما و هم‌تیمی‌هایتان یادآوری کند که هرگونه تغییری می‌تواند بر برنامه‌های تولیدی مرتبط و داده‌های آن‌ها تأثیر بگذارد.

مراحل بعدی