Я пытаюсь использовать файл политики для настройки репозитория Artifactory в качестве источника поваренной книги. Я использую ручную загрузку / скручивание, чтобы опубликовать кулинарную книгу в репозиторий /chef
в артефакте (это тоже ново) - я не смог опубликовать с печью и хочу пока избегать ножевого искусства. Выполнение chef install
завершается неудачей.
Я не уверен, является ли это ошибкой при загрузке или установке chef, и не получаю отладочную информацию от chef.
загрузка поваренной книги
curl --user "myuser:API_KEY" --data-binary @mycookbook.tar.gz -X PUT https://my-artifactory-server/artifactory/chef/mycookbook.tar.gz
Я также пытался добавить его к /chef/mycookbook/mycookbook.tar.gz
. В пути или имени артефакта нет версий, но метаданные действительны. Требуются ли версии?
Policyfile.rb
default_source :artifactory, "https://my-artifactory-server/artifactory/chef"
cookbook 'mycookbook'
run_list 'mycookbook::default'
Я пытался использовать /artifactory/api/chef/
и /artifactory/api/chef/chef
в качестве URI. Переменная ARTIFACTORY_API_KEY установлена на мой ключ API пользователя.
Из каталога с файлом политики я запускаю chef install -D
- не так много информации отладки, но это вывод, который я получаю.
$ chef install --debug
Building policy mypol
Expanded run list: recipe[mycookbook::default]
Caching Cookbooks...
Error: Failed to generate Policyfile.lock
Reason: (Solve::Errors::NoSolutionError) Unable to satisfy the following requirements:
- `mycookbook (>= 0.0.0)` required by `user-specified dependency`
Попытался просмотреть журналы Артефакты, чтобы понять, что может быть не так, но не особо разглядеть - request.log показывает GET на /artifactory/api/chef/chef/universe
, который возвращает OK с {}
для тела - так что предположим кулинарную книгуне добавлен в какой-либо список поваренной книги? Версия Artifactory - 5.10.
Я попытался добавить виртуальное репо, которое обслуживает локальное репо "chef", и обновить файл политики с этим, но получить тот же результат.