2017-07-31 66 views
0

我使用saltstack在AWS上部署我的應用程序。公式從artifactory中獲取jar並將該應用程序作爲服務運行。artifactory.download的使用不適用於鹽堆中的快照版本

它適用於生產(發行版本ex: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

回答

0

我想我弄明白。

狀態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性能要求兩者。

相關問題