Azure DevOps مایکروسافت یک مخزن مصنوع مبتنی بر فید برای کدهای خود و شخص ثالث ارائه می دهد که ارزش دیدن دارد.
ادغام پیوسته و تحویل مداوم (CI/CD) یکی از موتورهایی است که توسعه ابری مدرن را پیش میبرد. هر بار که از شاخه اصلی یک برنامه می سازیم، آن را در سیستم های زنده خود مستقر می کنیم – همه چیز از رابط کاربری گرفته تا زیرساخت برنامه. ساختهای ما حاوی عناصر مختلف زیادی هستند، از کتابخانههای جاوا اسکریپت گرفته تا توضیحات زیرساخت Bicep تا ظروف برنامهها، و حتی تصاویر، ویدئو و محتوای صوتی.
آنچه که نیاز است راهی است که همه آن مؤلفهها را به نظم درآورد و آنها را به یک مکان آماده برای استقرار تحویل دهد. مدیریت مصنوع بخش مهم و رو به رشد ابزارهای توسعه ما است، به طوری که JFrog پیشنهادات و رجیستری های کانتینر منبع باز خود را گسترش می دهد که فراتر از Docker به همه عناصر برنامه های کاربردی ابری می رود. گزینههای دیگر شامل کار با رجیستری بسته NET NuGet برای کتابخانه خصوصی بستههایی که به طور منظم استفاده میشوند، یا استفاده از نمونههای خصوصی npm برای جاوا اسکریپت است.
یک مفهومی که مدام برمیگردد، ایده “monorepo” یا یک مخزن برای همه کدهایی است که در تمام پروژههای در حال اجرا در یک سازمان وجود دارد. همه به همان کتابخانه های داخلی توسعه یافته و همه کدها دسترسی دارند. هدف این است که بهترین شیوه های ارگانیک را تشویق کنیم و تکرار را کاهش دهیم، همه اینها برای جلوگیری از مشکلات رایج و اطمینان از کنترل هزینه ها است. این رویکرد به مدیریت پروژههای منبع داخلی کمک میکند، جایی که تیمها هدفشان استانداردسازی کتابخانهها و مؤلفههای مشترک است که در داخل تیمها با استفاده از رویکردهای منبع باز توسعه داده میشوند.
یک مخزن مشترک برای سازمان شما
اگر مخازن مصنوعات ما به همین روش کار میکردند و نسخههای رایج کتابخانهها و مؤلفهها و همچنین تصاویر پایه کانتینرها و ماشینهای مجازی را میزبانی میکردند، چه میشد؟ آژور مصنوعات برای همین است. این در ارتباط با رجیستری کانتینر Azure کار میکند و یک مخزن مشترک برای کدها و بستههای شما و یک آینه خصوصی از بستههای پرکاربرد شما از فهرستهای عمومی و مخازن اصلی به شما میدهد. با میزبانی بستههای رایج و تبدیل آن به میزبان پیشفرض خود، اکنون مجموعهای از دستورالعملهای معماری اضافی برای Python، جاوا اسکریپت، جاوا و .NET دارید که تضمین میکند پروژهها به طور پیشفرض به کتابخانههای تایید شده بدون مجوزهای صریح دسترسی داشته باشند.
در قلب Azure Artifacts ایده فید است. فیدها نحوه سازماندهی و ذخیره بسته ها و کنترل دسترسی هستند. میتوانید انواع بستههای مختلف را در یک فید واحد ترکیب کنید، فیدها را به کل سازمان یا یک پروژه خاص اختصاص دهید. حتی گزینه فید عمومی وجود دارد که برای پروژه های منبع باز ایده آل است تا جهان گسترده تر به کتابخانه بسته شما دسترسی داشته باشد. یک نکته مهم: فید عمومی Azure Artifacts باید بخشی از یک پروژه عمومی Azure DevOps باشد. فیدهای خصوصی به طور خودکار از پروژه های خصوصی ایجاد می شوند.
پیکربندی فیدهای Azure Artifacts
دو نوع خصوصی وجود دارد فیدهای مصنوع. شما می توانید تفاوت را از URL ایجاد شده برای هر فید تشخیص دهید: فیدهای پروژه شامل نام پروژه و همچنین نام سازمان است. اگر از فید در سطح سازمان استفاده می کنید، همه فیدها از منوی کشویی Azure Artifacts در دسترس هستند. فیدهای پروژه را فقط می توان از پروژه Azure DevOps مورد نظر پیدا کرد، بنابراین کاربران باید بدانند که چگونه به آن پیمایش کنند. برای ایمن سازی مخازن مصنوعات خود، پروژه های عمومی را غیرفعال کنید یا از API مجوز فید در فیدهای تولید شده با برنامه استفاده کنید.
پیشفرض این است که به هر کاربر Azure DevOps اجازه میدهد فید ایجاد و مدیریت کند. در عمل، احتمالاً ایجاد را برای گروهی از مدیران و کاربران تایید شده قفل کنید. این رویکردی است که، برای مثال، استفاده از معماران را به عنوان راهی برای اجرای استانداردهای کدگذاری محدود می کند. هنگامی که یک فید ایجاد کردید، به طور خودکار یک سرپرست هستید و می توانید مجوزها و سایر تنظیمات فید را کنترل کنید. به کاربران میتوان نقشهای مناسبی را اختصاص داد، به عنوان مثال، خوانندهای که فقط میتواند بستهها را ببیند و نصب کند یا مشارکتکنندهای که میتواند مصنوعات خود را به فید اضافه کند. اگر میخواهید از کار با بستههای بالادستی پشتیبانی کنید، این بستهها میتوانند توسط کاربرانی با مجوزهای مشارکتکننده و مالکان و سرپرستان فید مدیریت شوند.
در همان زمان، میتوانید نماهای کاربران را کنترل کنید: نمای محلی @ پیشفرض که همه چیز را نشان میدهد یا نمای @prerelease که شامل نسخههای آزمایشی بستهها میشود تا آزمایشکنندهها بتوانند ساختها را قبل از انتشار در سایر سازمانها امتحان کنند.
اگر قبلاً از NuGet به صورت داخلی استفاده میکنید، میتوانید از یک ماژول PowerShell برای انتقال مخزن شما به فید Azure Artifacts. شما به URL فید NuGet و URL فید Azure Artifacts هدف به همراه هر رمز عبور نیاز دارید. فرآیند نسبتا سریع است. پس از انجام این کار، میتوانید هر بسته .NET را مجدداً در فید جدید خود هدفگیری کنید.
کار با بسته های بالادست
Azure Artifacts می تواند بسته های بالادستی را به فید شما اضافه کند. این کمک می کند تا مطمئن شوید که پروژه های شما همه بر روی یک نسخه تایید شده از یک بسته شخص ثالث اجرا می شوند. میتوانید منابع بالادست را در فیدهای جدید فعال کنید یا مخازن عمومی خاصی را به فیدهای موجود اضافه کنید. همانطور که بسته های جدید را با استفاده از ابزارهایی مانند npm یا ویژوال استودیو نصب می کنید، اگر مجوزهای صحیح را داشته باشید، به طور خودکار به فید فعلی اضافه می شوند. هنگامی که یک بسته در یک فید ذخیره می شود، هر کاربری می تواند آن را نصب کند. همین فرآیند باید به مدیریت وابستگیها کمک کند و اطمینان حاصل کند که همه بستههای ضروری قبل از استفاده تیم شما در یک فید هستند.
Azure Artifacts بخشی از مجموعه محصولات Azure DevOps در کنار خطوط لوله Azure است. اگر ترجیح می دهید آن را به تنهایی بخرید، افراد و تیمها اولین ۲ گیگابایت فضای ذخیرهسازی رایگان را دریافت میکنند، با حافظه اضافی با قیمت ۲ دلار در هر گیگابایت تا ۱۰ گیگابایت، سپس ۱ دلار در هر گیگابایت تا ۱۰۰ گیگابایت، با کاهش بیشتر تا ۱ ترابایت و بیشتر. ممکن است برنامه رایگان Basic Azure DevOps را برای تیمهای حداکثر پنج کاربر ترجیح دهید. (اگر از این حد عبور کنید، ۶ دلار برای هر کاربر در ماه است.) یا بخشی از طرح آزمایشی کاملاً ویژه است.
اگر به محدودیت اولیه ۲ گیگابایت رسیدید، باید صورتحساب Azure DevOps را به حساب خود اضافه کنید. هنگامی که به حد مجاز نزدیک می شوید یک هشدار وجود دارد. پس از رسیدن به آن، دیگر نمیتوانید فایلهایی را آپلود کنید و ممکن است لازم باشد آنهایی را که بیش از حد مجاز هستند حذف کنید. شما می توانید استفاده را در سطح سازمان و پروژه پیگیری کنید. نکته ای که باید به آن توجه کنید این است که کمترین سطح جزئیاتی که این سرویس ارائه می دهد ۱ گیگابایت است، بنابراین ممکن است ردیابی دقیق مورد نیاز خود را دریافت نکنید، به خصوص که ممکن است ۴۸ ساعت طول بکشد تا حذف فایل در آمار استفاده شما نشان داده شود.
مدیریت بستهها و وابستگیها در یک پروژه بزرگ میتواند مشکل بزرگی باشد، بنابراین Azure Artifacts میتواند با نگه داشتن همه افراد در یک صفحه در زمان صرفهجویی کند. ترکیبی از فیدهای پروژه و جهانی میتواند تضمین کند که همه افراد در یک سازمان از بستههای یکسانی استفاده میکنند، این گزینه مفیدی است اگر از تکنیکهای منبع داخلی برای استانداردسازی کنترلهای رایج استفاده میکنید. با هزینه بسیار پایین ورود، ارزش آن را دارد که قبل از اینکه به یک بسته کامل Azure DevOps متعهد شوید، چند فید را به عنوان آزمایش تنظیم کنید.
پست های مرتبط
Azure Artifacts به شما کمک می کند بسته ها و ماژول ها را استاندارد کنید
Azure Artifacts به شما کمک می کند بسته ها و ماژول ها را استاندارد کنید
Azure Artifacts به شما کمک می کند بسته ها و ماژول ها را استاندارد کنید