LevT
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору настройка свежеустановленной винды для запуска Packer Код: Set-WinSystemLocale -SystemLocale 'ru-Ru' Set-TimeZone -Id 'Russian Standard Time' Set-ExecutionPolicy RemoteSigned -Force # скачаем в фоне хелп Start-Job -ScriptBlock {Update-Help} # показывает доступные в винде пакетные менеджеры, # флаг -ForceBootstrap автоматизирует установку dll, от которой пока зависит пакетный менеджмент в винде # C:\Program Files\PackageManagement\ProviderAssemblies\nuget\2.8.5.208\Microsoft.PackageManagement.NuGetProvider.dll Find-PackageProvider -ForceBootstrap Install-Module Chocolatey -Force # этот шаг можно пропустить New-Item '~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1' -Force New-Item '~\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1' -Force New-Item '~\Documents\PowerShell\Microsoft.VSCode_profile.ps1' -Force # выше создаются оба профиля для консольного хоста и для ISE, # но автодополнение после choco установится только в тот из них, откуда запущено # потом можно повторить в другом хосте Install-ChocolateySoftware -Verbose # чтобы не спрашивало подтверждения на установку каждой софтины Get-ChocolateyFeature Enable-ChocolateyFeature allowGlobalConfirmation Install-ChocolateyPackage 7zip, notepadplusplus -Confirm:$false # требуется перезагрузка после выполнения Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online | Код: # перенастроим в удобные места пути к виртуалкам и vhd/x $VmPath = 'C:\A\VM\Hyper-V' $VhdPath = Join-Path -Path $VmPath -ChildPath 'Virtual Hard Disks' New-Item $VhdPath -ItemType Directory -Force Set-VMHost -VirtualMachinePath $VmPath -VirtualHardDiskPath $VhdPath Install-ChocolateyPackage packer -Confirm:$false # здесь будут кэшироваться скачанные ISO $PackerCacheDir = 'C:\A\Packer\PACKER_CACHE_DIR' New-Item $PackerCacheDir -ItemType Directory -Force [System.Environment]::SetEnvironmentVariable('PACKER_CACHE_DIR',$PackerCacheDir,[System.EnvironmentVariableTarget]::Machine) # команда из комплекта choco refreshenv | При первом запуске билда провайдером hyperv Packer создаст виртуальный свич 'packer-hyperv-iso'. Чтобы в виртуалке был интернет (например для скачивания обновлений), надо после его создания выпустить его в интернет: Код: $NetAdapterToInternet = Get-NetRoute | Where DestinationPrefix -eq '0.0.0.0/0' | Get-NetAdapter Set-VMSwitch -Name packer-hyperv-iso -NetAdapterName $NetAdapterToInternet.Name -AllowManagementOS $true | Добавлено: Да, насчёт совместимости виртуалок VirtualBox и Hyper-V я похоже заблуждался. VirtualBox давно объявил, что проблему решил после Код: Enable-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online | Но нет, пока только делает вид... Тем не менее, Код: Install-ChocolateyPackage virtualbox -Confirm:$false # делаем удобный путь для виртуалок $VboxDefaultMachinePath = 'C:\A\VM\Virtualbox' New-Item $VboxDefaultMachinePath -ItemType Directory -Force vboxmanage setproperty machinefolder $VboxDefaultMachinePath | после этого можно билдить в нём Если включён Hyper-V, то надо предварительно сделать Код: bcdedit /set hypervisorlaunchtype off | и перезагрузиться... Настраивать свич для virtualbox нет нужды Добавлено: Лог настройки винды билдером virtualbox-iso | Всего записей: 17168 | Зарегистр. 14-10-2001 | Отправлено: 02:04 01-06-2020 | Исправлено: LevT, 12:48 23-07-2020 |
|