在Salt stack中使用artifactory.download不适用于快照版本

在Salt stack中使用artifactory.download不适用于快照版本,artifactory,salt-stack,Artifactory,Salt Stack,我使用saltstack在AWS上部署我的应用程序。这些公式从artifactory获取jar,并将应用程序作为服务运行 它在生产环境(发布版本ex:1.1.3)中运行良好,但在具有快照版本(ex:1.1.4-snapshot)的开发环境中失败 我的公式是: artifactory.downloaded: - artifact: artifactory_url: {{ artifactory_url }} repository: {{ repository

我使用saltstack在AWS上部署我的应用程序。这些公式从artifactory获取jar,并将应用程序作为服务运行

它在生产环境(发布版本ex:1.1.3)中运行良好,但在具有快照版本(ex:1.1.4-snapshot)的开发环境中失败

我的公式是:

artifactory.downloaded:
   - artifact:
        artifactory_url: {{ artifactory_url }}
        repository: {{ repository }}
        artifact_id: {{ artifact_id }}
        group_id: {{ group_id }}
        packaging: {{ packaging }}
        classifier: {{ classifier }}
        version: '{{ version }}'
   - target_dir: {{ folder }}

错误:
'NoneType'对象不可编辑

我想我已经解决了

状态为
artifactory。下载的
使用模块
artifactory。获取快照为快照,获取发布为发布

get\u snapshot
模块需要
snapshot\u版本
属性和
版本
属性(我认为这是一个问题),但您无法从
artifactory.download
状态传递
snapshot\u版本
属性

所以为了解决这个问题,我不再使用
artifactory.downloaded
state,而是
artifactory.get\u snapshot/artifactory.get\u release
模块:

artifact_download:
 module.run:
    - name: artifactory.get_snapshot
    - artifactory_url: {{ artifactory_url }}
    - repository: {{ repository }}
    - artifact_id: {{artifact_id }}
    - group_id: {{ group_id }}
    - packaging: {{ packaging }}
    - classifier: {{ classifier }}
    - version: '{{ version }}'
    - snapshot_version: '{{ version }}'
    - target_dir: {{ folder }}

⚠️ - <代码>快照\u版本
版本
属性都是必需的。

您只需指定版本:“最新快照”即可获取最新的快照版本,请参阅