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



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

它适用于生产环境(发布版本,例如:1.1.3(,但在具有快照版本的开发环境中失败(例如: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' object is not iterable

我想通了。

状态artifactory.downloaded使用模块artifactory.get_snapshot进行快照,artifactory.get_release用于发布。

get_snapshot模块需要snapshot_version属性和version属性(我认为这是一个问题(,但您无法从artifactory.downloaded状态传递snapshot_version属性。

所以为了解决这个问题,我不再使用artifactory.downloaded状态,而是artifactory.get_snapshot / artifactory.get_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 }}

⚠️ -snapshot_versionversion属性都是必需的。

最新更新