PackerBuild@1 - إنشاء مهمة صورة الجهاز v1

استخدم هذه المهمة لإنشاء صورة جهاز باستخدام Packer، والتي يمكن استخدامها لتوزيع مجموعة مقياس الجهاز الظاهري Azure.

بناء الجملة

# Build machine image v1
# Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
- task: PackerBuild@1
  inputs:
    templateType: 'builtin' # 'builtin' | 'custom'. Required. Packer template. Default: builtin.
    #customTemplateLocation: # string. Required when templateType = custom. Packer template location. 
    #customTemplateParameters: '{}' # string. Optional. Use when templateType = custom. Template parameters. Default: {}.
  # Azure Details
    ConnectedServiceName: # string. Required when templateType = builtin. Azure subscription. 
    #isManagedImage: true # boolean. Optional. Use when templateType = builtin. Managed VM disk image. Default: true.
    #managedImageName: # string. Required when isManagedImage = true && templateType = builtin. Managed VM Disk Image Name. 
    location: # string. Required when templateType = builtin. Storage location. 
    storageAccountName: # string. Required when templateType = builtin. Storage account. 
    azureResourceGroup: # string. Required when templateType = builtin. Resource group. 
  # Deployment Inputs
    baseImageSource: 'default' # 'default' | 'customVhd'. Required when templateType = builtin. Base image source. Default: default.
    #baseImage: 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' # 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows' | 'Canonical:UbuntuServer:14.04.4-LTS:linux' | 'Canonical:UbuntuServer:16.04-LTS:linux' | 'Canonical:UbuntuServer:18.04-LTS:linux' | 'RedHat:RHEL:7.2:linux' | 'RedHat:RHEL:6.8:linux' | 'OpenLogic:CentOS:7.2:linux' | 'OpenLogic:CentOS:6.8:linux' | 'credativ:Debian:8:linux' | 'credativ:Debian:7:linux' | 'SUSE:openSUSE-Leap:42.2:linux' | 'SUSE:SLES:12-SP2:linux' | 'SUSE:SLES:11-SP4:linux'. Required when baseImageSource = default && templateType = builtin. Base image. Default: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.
    #customImageUrl: # string. Required when baseImageSource = customVhd && templateType = builtin. Base image URL. 
    #customImageOSType: 'windows' # 'windows' | 'linux'. Required when baseImageSource = customVhd && templateType = builtin. Base image OS. Default: windows.
    packagePath: # string. Required when templateType = builtin. Deployment Package. 
    deployScriptPath: # string. Required when templateType = builtin. Deployment script. 
    #deployScriptArguments: # string. Optional. Use when templateType = builtin. Deployment script arguments. 
  # Advanced
    #additionalBuilderParameters: '{"vm_size":"Standard_D3_v2"}' # string. Optional. Use when templateType = builtin. Additional Builder parameters. Default: {"vm_size":"Standard_D3_v2"}.
    #skipTempFileCleanupDuringVMDeprovision: true # boolean. Optional. Use when templateType = builtin. Skip temporary file cleanup during deprovision. Default: true.
    #packerVersion: # string. Optional. Use when templateType = custom. Packer Version. 
  # Output
    #imageUri: # string. Image URL or Name. 
    #imageId: # string. Azure Resource Id.
# Build machine image v1
# Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
- task: PackerBuild@1
  inputs:
    templateType: 'builtin' # 'builtin' | 'custom'. Required. Packer template. Default: builtin.
    #customTemplateLocation: # string. Required when templateType = custom. Packer template location. 
    #customTemplateParameters: '{}' # string. Optional. Use when templateType = custom. Template parameters. Default: {}.
  # Azure Details
    ConnectedServiceName: # string. Required when templateType = builtin. Azure subscription. 
    #isManagedImage: true # boolean. Optional. Use when templateType = builtin. Managed VM disk image. Default: true.
    #managedImageName: # string. Required when isManagedImage = true && templateType = builtin. Managed VM Disk Image Name. 
    location: # string. Required when templateType = builtin. Storage location. 
    storageAccountName: # string. Required when templateType = builtin. Storage account. 
    azureResourceGroup: # string. Required when templateType = builtin. Resource group. 
  # Deployment Inputs
    baseImageSource: 'default' # 'default' | 'customVhd'. Required when templateType = builtin. Base image source. Default: default.
    #baseImage: 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' # 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows' | 'Canonical:UbuntuServer:14.04.4-LTS:linux' | 'Canonical:UbuntuServer:16.04-LTS:linux' | 'RedHat:RHEL:7.2:linux' | 'RedHat:RHEL:6.8:linux' | 'OpenLogic:CentOS:7.2:linux' | 'OpenLogic:CentOS:6.8:linux' | 'credativ:Debian:8:linux' | 'credativ:Debian:7:linux' | 'SUSE:openSUSE-Leap:42.2:linux' | 'SUSE:SLES:12-SP2:linux' | 'SUSE:SLES:11-SP4:linux'. Required when baseImageSource = default && templateType = builtin. Base image. Default: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.
    #customImageUrl: # string. Required when baseImageSource = customVhd && templateType = builtin. Base image URL. 
    #customImageOSType: 'windows' # 'windows' | 'linux'. Required when baseImageSource = customVhd && templateType = builtin. Base image OS. Default: windows.
    packagePath: # string. Required when templateType = builtin. Deployment Package. 
    deployScriptPath: # string. Required when templateType = builtin. Deployment script. 
    #deployScriptArguments: # string. Optional. Use when templateType = builtin. Deployment script arguments. 
  # Advanced
    #additionalBuilderParameters: '{"vm_size":"Standard_D3_v2"}' # string. Optional. Use when templateType = builtin. Additional Builder parameters. Default: {"vm_size":"Standard_D3_v2"}.
    #skipTempFileCleanupDuringVMDeprovision: true # boolean. Optional. Use when templateType = builtin. Skip temporary file cleanup during deprovision. Default: true.
  # Output
    #imageUri: # string. Image URL or Name. 
    #imageId: # string. Azure Resource Id.

الإدخالات

templateType - قالب Packer
string. مطلوب القيم المسموح بها: builtin (تم إنشاؤها تلقائيا)، custom (تم توفير المستخدم). القيمة الافتراضية: builtin.

يحدد ما إذا كانت المهمة تنشئ تلقائيا قالب Packer أو تستخدم قالب مخصصا توفره.


customTemplateLocation - موقع قالب Packer
string. مطلوب عند templateType = custom.

يحدد المسار إلى قالب مخصص يوفره المستخدم.


customTemplateParameters - معلمات القالب
string. ‏‏اختياري. استخدم عندما templateType = custom. القيمة الافتراضية: {}.

يحدد المعلمات التي سيتم تمريرها إلى Packer لإنشاء قالب مخصص. يجب تعيين هذا إلى variables مقطع في القالب المخصص. على سبيل المثال، إذا كان القالب يحتوي على متغير يسمى drop-location، فأضف معلمة هنا بالاسم drop-location والقيمة التي تريد استخدامها. يمكنك ربط القيمة بمتغير إصدار أيضا. لعرض/تحرير المعلمات الإضافية في شبكة، انقر فوق بجوار مربع النص.


ConnectedServiceName - اشتراك Azure
string. مطلوب عند templateType = builtin.

يحدد اشتراك Azure Resource Manager لخبز صورة الجهاز وتخزينها.


isManagedImage - صورة قرص الجهاز الظاهري المدار
boolean. ‏‏اختياري. استخدم عندما templateType = builtin. القيمة الافتراضية: true.

التحقق مما إذا كانت الصورة التي تم إنشاؤها يجب أن تكون صورة مدارة.


managedImageName - اسم صورة قرص الجهاز الظاهري المدار
string. مطلوب عند isManagedImage = true && templateType = builtin.

يحدد اسم صورة القرص المدار للقوالب التي تم إنشاؤها تلقائيا.


location - موقع التخزين
string. مطلوب عند templateType = builtin.

يحدد موقع تخزين صورة الجهاز المضمنة. سيتم استخدام هذا الموقع أيضا لإنشاء جهاز ظاهري مؤقت لغرض إنشاء صورة.


storageAccountName - حساب التخزين
string. مطلوب عند templateType = builtin.

يحدد حساب التخزين لتخزين صورة الجهاز المضمنة. يجب أن يكون حساب التخزين هذا موجودا مسبقا في الموقع المحدد.


azureResourceGroup - مجموعة الموارد
string. مطلوب عند templateType = builtin.

يحدد مجموعة موارد Azure التي تحتوي على حساب التخزين المحدد.


baseImageSource - مصدر الصورة الأساسية
string. مطلوب عند templateType = builtin. القيم المسموح بها: default (المعرض)، customVhd (مخصص). القيمة الافتراضية: default.

يحدد مصدر الصورة الأساسية. يمكنك إما الاختيار من بين معرض منسق لصور نظام التشغيل أو توفير عنوان URL لصورة VHD المخصصة.

ملاحظة

إذا قمت بتحديد خيار إنشاء صورة مدارة عن طريق التحقق من Managed VM disk image الخيار، فيجب عليك اختيار Gallery الخيار هنا فقط. Custom المصدر غير مدعوم لإنشاء صورة مدارة.


baseImage - الصورة الأساسية
string. مطلوب عند baseImageSource = default && templateType = builtin. القيم المسموح بها: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows (Windows 2012-R2-Datacenter)، MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows (Windows 2016-Datacenter)، MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows (Windows 2012-Datacenter)، MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows (Windows 2008-R2-SP1)، Canonical:UbuntuServer:14.04.4-LTS:linux (Ubuntu 14.04.4-LTS)، Canonical:UbuntuServer:16.04-LTS:linux (Ubuntu 16.04-LTS)، Canonical:UbuntuServer:18.04-LTS:linux (Ubuntu 18.04-LTS)، RedHat:RHEL:7.2:linux (RHEL 7.2)، RedHat:RHEL:6.8:linux (RHEL 6.8)، OpenLogic:CentOS:7.2:linux (CentOS 7.2)، OpenLogic:CentOS:6.8:linux (CentOS 6.8)، credativ:Debian:8:linux (Debian 8)، credativ:Debian:7:linux (Debian 7)، SUSE:openSUSE-Leap:42.2:linux (openSUSE-Leap 42.2)، SUSE:SLES:12-SP2:linux (SLES 12-SP2)، SUSE:SLES:11-SP4:linux (SLES 11-SP4). القيمة الافتراضية: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

اختيار من قائمة منسقة من صور نظام التشغيل. سيتم استخدام هذا لتثبيت المتطلبات (المتطلبات) المسبقة والتطبيق (التطبيقات) قبل التقاط صورة الجهاز.


baseImage - الصورة الأساسية
string. مطلوب عند baseImageSource = default && templateType = builtin. القيم المسموح بها: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows (Windows 2012-R2-Datacenter)، MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows (Windows 2016-Datacenter)، MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows (Windows 2012-Datacenter)، MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows (Windows 2008-R2-SP1)، Canonical:UbuntuServer:14.04.4-LTS:linux (Ubuntu 14.04.4-LTS)، Canonical:UbuntuServer:16.04-LTS:linux (Ubuntu 16.04 -LTS)، RedHat:RHEL:7.2:linux (RHEL 7.2)، RedHat:RHEL:6.8:linux (RHEL 6.8)، OpenLogic:CentOS:7.2:linux (CentOS 7.2)، OpenLogic:CentOS:6.8:linux (CentOS 6.8)، credativ:Debian:8:linux (Debian 8)، credativ:Debian:7:linux (Debian 7)، SUSE:openSUSE-Leap:42.2:linux (openSUSE-Leap 42.2)، SUSE:SLES:12-SP2:linux (SLES 12-SP2)، SUSE:SLES:11-SP4:linux (SLES 11-SP4). القيمة الافتراضية: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

اختيار من قائمة منسقة من صور نظام التشغيل. سيتم استخدام هذا لتثبيت المتطلبات (المتطلبات) المسبقة والتطبيق (التطبيقات) قبل التقاط صورة الجهاز.


customImageUrl - عنوان URL للصورة الأساسية
string. مطلوب عند baseImageSource = customVhd && templateType = builtin.

يحدد عنوان URL لصورة أساسية. سيتم استخدام هذا لتثبيت المتطلبات (المتطلبات) المسبقة والتطبيق (التطبيقات) قبل التقاط صورة الجهاز.


customImageOSType - نظام تشغيل الصورة الأساسية
string. مطلوب عند baseImageSource = customVhd && templateType = builtin. القيم المسموح بها: windows، . linux القيمة الافتراضية: windows.


packagePath - حزمة التوزيع
string. مطلوب عند templateType = builtin.

يحدد مسار دليل حزمة التوزيع بالنسبة إلى $(System.DefaultWorkingDirectory). يدعم نمط minimatch. مثال على المسار: FrontendWebApp/**/GalleryApp

ملاحظة

سيتم نسخ هذه الحزمة إلى جهاز ظاهري مؤقت يقوم Packer بإنشائه. إذا كانت الحزمة تحتوي على عدد كبير من الملفات و/أو كانت الملفات كبيرة جدا في الحجم، يمكن أن يستغرق التحميل وقتا طويلا (ربما يعمل لبضع ساعات). لتحسين وقت التحميل، يرجى معرفة ما إذا كان يمكن تقليل حجم الحزمة بشكل مفيد. بديل آخر هو استخدام حساب تخزين Azure وسيط. قم بتحميل الحزمة إلى حساب تخزين قبل تشغيل هذه المهمة. لهذه المهمة، استخدم حزمة تحتوي على برنامج نصي الذي سيقوم بتنزيل الحزمة المطلوبة من حساب التخزين.


deployScriptPath - البرنامج النصي للتوزيع
string. مطلوب عند templateType = builtin.

يحدد المسار النسبي إلى البرنامج النصي powershell (لنظام التشغيل Windows) أو البرنامج النصي shell (لنظام التشغيل Linux) الذي ينشر الحزمة. يجب تضمين هذا البرنامج النصي في مسار الحزمة المحدد أعلاه. يدعم نمط minimatch. مثال على المسار: deploy/**/scripts/windows/deploy.ps1.


deployScriptArguments - وسيطات البرنامج النصي للتوزيع
string. ‏‏اختياري. استخدم عندما templateType = builtin.

يحدد الوسيطات التي سيتم تمريرها إلى البرنامج النصي للتوزيع.


additionalBuilderParameters - معلمات منشئ إضافية
string. ‏‏اختياري. استخدم عندما templateType = builtin. القيمة الافتراضية: {"vm_size":"Standard_D3_v2"}.

في وضع قالب Packer الذي تم إنشاؤه تلقائيا، تنشئ المهمة قالب Packer باستخدام منشئ Azure. يستخدم هذا المنشئ لإنشاء صورة جهاز. يمكنك إضافة مفاتيح إلى منشئ Azure لتخصيص قالب Packer الذي تم إنشاؤه. على سبيل المثال: إعداد ssh_tty=true إذا كنت تستخدم صورة أساسية CentOS وتحتاج إلى tty لتشغيل sudo. لعرض/تحرير المعلمات الإضافية في شبكة، انقر فوق بجوار مربع النص.


skipTempFileCleanupDuringVMDeprovision - تخطي تنظيف الملف المؤقت أثناء إلغاء التوفير
boolean. ‏‏اختياري. استخدم عندما templateType = builtin. القيمة الافتراضية: true.

أثناء إلغاء توفير جهاز ظاهري، يتخطى تنظيف الملفات المؤقتة التي تم تحميلها إلى الجهاز الظاهري. تعرف على المزيد حول Azure Virtual Machine Image Builders في Packer.


packerVersion - إصدار Packer
string. ‏‏اختياري. استخدم عندما templateType = custom.

يحدد إصدار Packer المراد تثبيته. سيعمل هذا فقط مع القوالب المخصصة.


imageUri - عنوان URL للصورة أو الاسم
string.

يحدد اسما لمتغير الإخراج الذي سيخزن عنوان URL VHD لصورة الجهاز الذي تم إنشاؤه لصورة جهاز ظاهري غير مدارة أو اسم الصورة لصورة جهاز ظاهري مدارة.


imageId - معرف مورد Azure
string.

يحدد اسما لمتغير الإخراج الذي سيخزن معرف مورد Azure للصورة التي تم إنشاؤها حديثا. هذا للصور المدارة فقط.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

لا شيء

الملاحظات

استخدم هذه المهمة لإنشاء صورة جهاز باستخدام Packer. يمكن استخدام هذه الصورة لنشر مجموعة مقياس جهاز Azure الظاهري.

ملاحظة

إذا كنت ترغب في تمكين السجلات التفصيلية، فانتقل إلى Pipelines>Edit>Variables، ثم أضف متغيرا جديدا PACKER_LOG وقم بتعيين قيمته إلى 1.

المتطلبات

المتطلبات الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل 2.0.0 أو أحدث
فئة المهمة نشر