Сборка Azure Windows Packer зависает при установке chefdk через Chocolately - PullRequest
0 голосов
/ 21 мая 2019

При запуске сборки упаковщика он зависает при загрузке chefdk, то же самое происходит с python, но он установит несколько других приложений. кто-нибудь знает почему?

Изначально все выполнялось из одного скрипта, т.е. устанавливайте choco, а затем устанавливайте приложения

if (!(Get-Package -Name *choco*))
{
    Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
}
choco install visualstudiocode -y
choco install chefdk -y

Я пытался разделить их на встроенный код для всего, что у меня все еще возникает та же проблема.

Просто чтобы убедиться, что я также запустил скрипт вручную, и все работает (нет никаких ответов).

Я играл с добавлением "winrm_password", а затем вызывал его в провайдере, но он говорит, что пароль неверный!?

Выход из упаковщика:

    azure-arm: vscode v1.34.0 [Approved]
    azure-arm: vscode package files install completed. Performing other installation steps.
    azure-arm: Merge Tasks: !runCode, desktopicon, quicklaunchicon, addcontextmenufiles, addcontextmenufolders, addtopath
    azure-arm: Downloading vscode 64 bit
    azure-arm:   from 'https://az764295.vo.msecnd.net/stable/a622c65b2c713c890fcf4fbf07cf34049d5fe758/VSCodeSetup-x64-1.34.0.exe'
Progress: 100% - Completed download of C:\Users\packer\AppData\Local\Temp\chocolatey\vscode\1.34.0\VSCodeSetup-x64-1.34.0.exe (47.85 MB).
    azure-arm: Download of VSCodeSetup-x64-1.34.0.exe (47.85 MB) completed.
    azure-arm: Hashes match.
    azure-arm: Installing vscode...
    azure-arm: vscode has been installed.
    azure-arm:   vscode can be automatically uninstalled.
    azure-arm: Environment Vars (like PATH) have changed. Close/reopen your shell to
    azure-arm:  see the changes (or in powershell/cmd.exe just type `refreshenv`).
    azure-arm:  The install of vscode was successful.
    azure-arm:   Software installed to 'C:\Program Files\Microsoft VS Code\'
    azure-arm: VisualStudioCode v1.23.1.20180730 [Approved]
    azure-arm: visualstudiocode package files install completed. Performing other installation steps.
    azure-arm: This package is deprecated due to name change to vscode
    azure-arm:  The install of visualstudiocode was successful.
    azure-arm:   Software install location not explicitly set, could be in package or
    azure-arm:   default install location if installer.
    azure-arm: Chocolatey installed 4/4 packages.
    azure-arm:  See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
    azure-arm: Chocolatey v0.10.13
    azure-arm: Installing the following packages:
    azure-arm: chefdk
    azure-arm: By installing you accept licenses for the packages.
Progress: Downloading chefdk 3.7.23... 100%
    azure-arm: chefdk v3.7.23 [Approved]
    azure-arm: chefdk package files install completed. Performing other installation steps.
    azure-arm: Downloading chefdk 64 bit
    azure-arm:   from 'https://packages.chef.io/stable/windows/2012r2/chefdk-3.7.23-1-x64.msi'

Поставщик упаковщика:

  "provisioners": [
    {
      "type": "powershell",
      "script": "choco.ps1"
  },
    {
    "type": "powershell",
    "inline": [
      "choco install vscode -y",
      "choco install chefdk -y",
      "& $env:SystemRoot\\System32\\Sysprep\\Sysprep.exe /oobe /generalize /quiet /quit",
      "while($true) { $imageState = Get-ItemProperty HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State | Select ImageState; if($imageState.ImageState -ne 'IMAGE_STATE_GENERALIZE_RESEAL_TO_OOBE') { Write-Output $imageState.ImageState; Start-Sleep -s 10  } else { break } }"

    ],
    "pause_before": "1m"
  }
]

Есть идеи как исправить? Похоже, что на Google для упаковщика не так много, что говорит о том, что он просто работает!

1 Ответ

0 голосов
/ 22 мая 2019

Вы пытались использовать средство обеспечения PowerShell для установки chefdk через документы chef: https://docs.chef.io/install_omnibus.html

В самом низу: . { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -channel current -project chefdk

Часть упаковщика будет выглядеть следующим образом:

  "provisioners": [{
      "type": "powershell",
      "inline": ". { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -channel current -project chefdk"
    }]
...