Ansible,从 Artifactory 中的通用存储库下载 msi 文件

Dim*_*man 3 artifactory ansible

我们在 Artifactory Generic 仓库中管理我们的掉落。现在,我们想要部署预定义版本,假设位于 Artifactory 内的 MY_REPO/ver1/file.msi 中。如何使用 ansible 来完成它?我已经看到 ansible 有 maven_artifact 但是,它可以与通用存储库一起使用吗?如何传递源路径(MY_REPO/ver1/file.msi)?似乎 maven_artifact 仅适用于最新版本,并且无法定义源路径。

小智 5

您可以使用 get_url通过在通用存储库上定义特殊布局来检测版本来完成此操作。在您的情况下,布局将为“[orgPath]/ver[baseRev]/[module].[ext]”,“文件夹/文件集成修订正则表达式”设置为“.*”

那么你必须根据布局部署你的msi:“MY_REPO/MY_ORG/ver1/file.msi”

这样做,您可以使用以下网址获取最新版本:“[ARTIFACTORY_HOST]:[ARTIFACTORY_PORT]/artifactory/MY_REPO/MY_ORG/ver[RELEASE]/file.msi”

或者使用参数代替 [RELEASE] 来获取指定版本

所以最后这应该有效:

name: download latest msi using Artifactory API KEY
  get_url:
    url: [ARTIFACTORY_HOST]:[ARTIFACTORY_PORT]/artifactory/MY_REPO/MY_ORG/ver[RELEASE]/file.msi
    dest: [YOUR_DEST]
    headers: 'X-JFrog-Art-Api:[API_KEY]'
Run Code Online (Sandbox Code Playgroud)