کانتینرها با " Build Once Deploy Anywhere " زندگی ما را ساده می کنند .
ساختن تصاویر و اجرای آنها در محیطهای تست محلی یا توسعهدهنده است، اما بیایید ببینیم چگونه میتوان آنها را در چرخه کامل ایجاد تصاویر قرار داد و آنها را به عنوان یک مصنوع از برنامهنویس به تولید با استفاده از Azure DevOps ارتقا داد.
چالش ها
- نحوه حمل مصنوع (تصویر کانتینر) در محیط ها بدون بازسازی مجدد تصویر برای هر محیط.
- همه تصاویر توسعهدهنده واجد شرایط تولید نیستند، بنابراین نمیتوانیم تصویر را به تمام ثبتهای محیطی در مرحله توسعه ارسال کنیم.
- عملیات بازگشت در هر گونه شکست انتشار تولید.
در اینجا یکی از بهترین روش ها وجود دارد.
من برای ارتقاء تصاویر از برنامه نویس به محیط بالاتر با استفاده از رجیستری های کانتینری خاص محیط را دنبال خواهم کرد.
منبع: https://cdn-images-1.medium.com/max/800/1*8bzqBzT4E0ZvqYbXriqvDQ.png
چگونه می توانیم با استفاده از خطوط لوله Azure DevOps و رجیستری کانتینر Azure به این مهم دست یابیم؟
اجازه دهید ابتدا با استفاده از خط لوله Azure DevOps یک تصویر بسازیم.
با استفاده از Azure DevOps Pipeline CI یک تصویر بسازید،
- steps:
- – task: Docker@0
- displayName: 'Build an image'
- inputs:
- azureSubscription: 'Azure'
- azureContainerRegistry: '{"loginServer":"containersacr.azurecr.io", "id" : "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ResourceGroup/providers/Microsoft.ContainerRegistry/registries/containersacr"}'
- dockerFile: DockerSample/DockerSample/Dockerfile
با استفاده از Azure DevOps Pipeline CI، تصویر را به رجیستری کانتینر Azure فشار دهید،
- steps:
- – task: Docker@0
- displayName: 'Push an image'
- inputs:
- azureSubscription: 'Azure'
- azureContainerRegistry: '{"loginServer":"containersacr.azurecr.io", "id" : "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ResourceGroup/providers/Microsoft.ContainerRegistry/registries/containersacr"}
- action: 'Push an image'
پيش نياز