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

时间:2017-07-31 09:16:31

标签: artifactory salt-stack

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

它适用于生产(发行版本:1.1.3)但在具有快照版本的开发环境中失败(例如:1.1.4-SNAPSHOT)。

我的公式:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
  <div class="target">
    aaa
  </div>
</div>

错误: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 }}

1 个答案:

答案 0 :(得分:0)

我想我明白了。

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

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

因此,要解决此问题,我不再使用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属性都是必需的。