如何在 Windows 上使用 Ansible 将 zip 文件上传到 URL?

如何在 Windows 上使用 Ansible 将 zip 文件上传到 URL?

我正在尝试使用 Windows 10 计算机上的 Ansible 将 zip 文件上传到 URL。我目前正在尝试以下操作:

    - name: Get zip file contents for upload
      slurp: 
        src: 'bundle.zip'
      register: zip_contents
      no_log: true
    - name: Upload ZIP
      ansible.windows.win_uri:
        url_method: "PUT"
        url: "my-url.com/bundle.zip"
        body: "{{ zip_contents['content'] | b64decode }}"

但是,这会导致上传的文件损坏,大小是预期大小的两倍。我尝试在本地对 zip 文件进行编码和解码,以确保此方法可行,结果似乎没问题。上述代码块适用于其他文件类型,例如 xml 和 json。

做这个的最好方式是什么?

答案1

由于我试图专门上传到 Artifactory,因此我找到了一种使用 jfrog CLi 的解决方法:

    - name: Upload ZIP
      ansible.windows.win_powershell:
        script: |
          jfrog rt u 'bundle.zip' 'my-repo/bundle.zip'

然而,如果存在更原生的 Ansible 解决方案的话,我会很喜欢。

相关内容