需要使用ansible中的get_url方法从Artifactory下载最新的战争文件。
- name: Download war file from artifactory
get_url:
url: http://localhost:5040/artifactory/webapp/#/artifacts/browse/tree/General/libs-snapshot-local/devops/ilp1/ILP/0.0.1-SNAPSHOT/ILP-0.0.1-20200408.072920-1.war
dest: /home/osgdev/devops_capstone/testnew/ILP_BookStoreWorkspace/roles/ansi
在我尝试过的代码下面。
name: Download war file from artifactory
get_url:
url: http://localhost:5040/artifactory/libs-snapshot-local/devops/ilp1/ILP/0.0.1-SNAPSHOT/latest.war
dest: /home/osgdev/devops_capstone/testnew/ILP_BookStoreWorkspace/roles/ansicode here
获取以下消息: 任务[ansi:从人工制品下载战争文件] ******************************************** ****************************************************** ****************************************************** *************** 执行任务期间发生异常。要查看完整的回溯,请使用-vvv。错误是:ImportError:没有名为lxml的模块 致命的:[本地主机]:失败! => {“已更改”:false,“ module_stderr”:“回溯(最近一次通话结束):\ n文件\“ / tmp / ansible_NrEV35 / ansible_module_maven_artifact.py \”,行158,位于\ n中,来自lxml import etree \ nImportError :没有名为lxml \ n“的模块,” module_stdout“:”“,” msg“:”模块失败“,” rc“:0} 要重试,请使用:--limit @ / home / osgdev / devops_capstone / testnew / ILP_BookStoreWorkspace / roles / ansi / ansi.retry
PLAY RECAP ********************************************* ****************************************************** ****************************************************** **************************************************** 本地主机:ok = 3更改= 0不可达= 0失败= 1
我有2个或更多文件,但我需要下载最新的战争文件
ILP-0.0.1-20200408.072920-1.war ILP-0.0.1-20200410.071653-2.war
请对此提供帮助。
答案 0 :(得分:0)
Artifactory REST API支持为发行版和快照下载最新的Maven版本。
对于快照,应在Ansible url字段中使用以下格式:
http://localhost:8081/artifactory/ivy-local/org/acme/1.0-[SNAPSHOT]/acme-1.0-[SNAPSHOT].jar
对于发行版,您应使用以下格式:
http://localhost:8081/artifactory/ivy-local/org/acme/[RELEASE]/acme-[RELEASE].jar