使用 artifactory 作为源时,Ansible Chocolatey 失败,404 not found

问题描述

我正在使用 Ansible win_chocolatey 模块将包设置到我的远程服务器,并且我正在使用自定义源(这里是 artifactory)。在Artifactory 中,我有一个指向chocolatey.org 的远程存储库。存储库类型是 nuget,我使用 virtual 将这个远程存储库映射到它。

我尝试同时使用虚拟端点和远程仓库端点,但它们都失败并显示错误

27-Jan-2021 17:27:22    +             $install_script = $client.DownloadString($script_url)
27-Jan-2021 17:27:22    +             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27-Jan-2021 17:27:22        + CategoryInfo          : NotSpecified: (:) [],MethodInvocationException
27-Jan-2021 17:27:22        + FullyQualifiedErrorId : WebException
27-Jan-2021 17:27:22    
27-Jan-2021 17:27:22    ScriptStackTrace:
27-Jan-2021 17:27:22    at Install-Chocolatey,<No file>: line 268
27-Jan-2021 17:27:22    at <ScriptBlock>,<No file>: line 675
27-Jan-2021 17:27:22    Failed: [srv03598.xx.corp] (item={'name': 'chocolatey','version': '0.10.15'}) => {
27-Jan-2021 17:27:22        "ansible_loop_var": "item",27-Jan-2021 17:27:22        "changed": false,27-Jan-2021 17:27:22        "invocation": {
27-Jan-2021 17:27:22            "module_args": {
27-Jan-2021 17:27:22                "allow_empty_checksums": false,27-Jan-2021 17:27:22                "allow_multiple": false,27-Jan-2021 17:27:22                "allow_prerelease": false,27-Jan-2021 17:27:22                "architecture": "default",27-Jan-2021 17:27:22                "force": false,27-Jan-2021 17:27:22                "ignore_checksums": false,27-Jan-2021 17:27:22                "ignore_dependencies": false,27-Jan-2021 17:27:22                "install_args": null,27-Jan-2021 17:27:22                "name": [
27-Jan-2021 17:27:22                    "chocolatey"
27-Jan-2021 17:27:22                ],27-Jan-2021 17:27:22                "package_params": null,27-Jan-2021 17:27:22                "pinned": null,27-Jan-2021 17:27:22                "proxy_password": null,27-Jan-2021 17:27:22                "proxy_url": null,27-Jan-2021 17:27:22                "proxy_username": null,27-Jan-2021 17:27:22                "skip_scripts": false,27-Jan-2021 17:27:22                "source": "https://url.com/artifactory/api/nuget/nuget-chocolatey",27-Jan-2021 17:27:22                "source_password": "VALUE_SPECIFIED_IN_NO_LOG_ParaMETER",27-Jan-2021 17:27:22                "source_username": "allreaders",27-Jan-2021 17:27:22                "state": "present",27-Jan-2021 17:27:22                "timeout": 2700,27-Jan-2021 17:27:22                "validate_certs": true,27-Jan-2021 17:27:22                "version": "0.10.15"
27-Jan-2021 17:27:22            }
27-Jan-2021 17:27:22        },27-Jan-2021 17:27:22        "item": {
27-Jan-2021 17:27:22            "name": "chocolatey",27-Jan-2021 17:27:22            "version": "0.10.15"
27-Jan-2021 17:27:22        },27-Jan-2021 17:27:22        "msg": "Failed to download Chocolatey script from 'https://url.com/install.ps1'; Exception calling \"DownloadString\" with \"1\" argument(s): \"The Remote Server returned an error: (404) Not Found.\"",27-Jan-2021 17:27:22        "rc": 0
27-Jan-2021 17:27:22    }
27-Jan-2021 17:27:22    The full traceback is:
27-Jan-2021 17:27:22    Exception calling "DownloadString" with "1" argument(s): "The Remote Server returned an error: (404) Not Found."
27-Jan-2021 17:27:22    At line:268 char:13

这些是我尝试过的以下来源:

https://url.com/artifactory/api/nuget/nuget-chocolatey
https://url.com/artifactory/api/nuget/v3/nuget-chocolatey
https://url.com/artifactory/api/nuget/nuget-public
https://url.com/artifactory/api/nuget/v3/nuget-public

这是我的代码

- name: Ansible Task for Installing packages via win_chocolatey
  win_chocolatey:
    name: "{{ item.name }}"
    version: "{{ item.version }}"
    state: present
    source: https://url.com/artifactory/api/nuget/nuget-chocolatey
    source_username: '{{ artifactory_user }}'
    source_password: '{{ artifactory_password }}'
  loop:
    - { name: 'chocolatey',version: 0.10.15 }
    - { name: 'openjdk8',version: 8.282.08 }
    - { name: 'openjdk11',version: 11.0.8.10 }
    - { name: 'python2',version: 2.7.14 }
  tags:
  - pkg-install

有人可以帮我弄清楚这里出了什么问题吗?

顺便说一句,我确实将包缓存在 Artifactory 中,因为这对我有用过一次,但不再适用,我不确定为什么现在失败了。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...