使用 artifactory.download 不适用于 Salt-stack 中的快照版本
Use of artifactory.download not working for snapshot version in Salt-stack
我使用 saltstack 在 AWS 上部署我的应用程序。公式从 artifactory 中获取 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
属性(我认为这是一个问题)但是你不能从 [=11] 传递 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_version
和 version
属性都是必需的。
我使用 saltstack 在 AWS 上部署我的应用程序。公式从 artifactory 中获取 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
属性(我认为这是一个问题)但是你不能从 [=11] 传递 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_version
和 version
属性都是必需的。