Ansible,从 Artifactory 的一般仓库下载 msi 文件

Ansible, download msi file from general repo in Artifactory

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

您可以使用 get_url 并通过在通用存储库上定义特殊布局来检测版本。 在您的情况下,布局将是“[orgPath]/ver[baseRev]/[module].[ext]” "Folder/File integration Revision Regexp" 设置为“.*”

然后您必须根据布局部署您的 msi:"MY_REPO/MY_ORG/ver1/file.msi"

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

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

所以最后这应该可以工作:

name: 使用 Artifactory 下载最新的 msi API KEY get_url: url: [ARTIFACTORY_HOST]:[ARTIFACTORY_PORT]/artifactory/MY_REPO/MY_ORG/ver[发布]/file.msi 目的地:[YOUR_DEST] headers: 'X-JFrog-Art-Api:[API_KEY]'

- name: Download README file from artifactory
  get_url:
    url: https://artifactoryServerName.jfrog.io/artifactoryServerName/example-repo-local/README.md
    headers:  "X-JFrog-Art-Api:API_KEY"
    dest: /tmp/
    mode: 0644

在哪里可以找到神器 api 密钥:https://www.jfrog.com/confluence/display/RTF/Updating+Your+Profile