Joomla有最新版本的链接吗?例如,WordPress有一个指向 https://wordpress.org/latest.zip 的链接,所以我知道我可以随时下载该zip并获得最新版本。
我正在开发 ansible 脚本来自动设置服务器并安装 joomla,我需要保持简单,所以我想发送一个链接或 api 调用或其他东西来始终获得最新的 joomla 版本zip。
任何帮助表示赞赏。大卫
好问题 - 它当然不像WordPress那么容易。
您可以通过以下方式使用 ansible 下载最新版本:
将您提到的 XML 文件下载到本地计算机:
- name: download latest joomla packages list to local machine
tags: joomlanew
get_url:
url: https://update.joomla.org/core/sts/extension_sts.xml
dest: "{{ role_path }}/scripts/extension_sts.xml"
force: yes
delegate_to: 127.0.0.1
运行 python 脚本来解析此 XML 以查找最新的包 zip 文件:
- name: find latest joomla version
tags: joomlanew
command: python ./latest_joomla.py
args:
chdir: "{{ role_path }}/scripts"
delegate_to: 127.0.0.1
register: xmlresp
然后,您可以在 ansible 中使用 {{ xml.resp.stdout }} 作为下载代码的输入:
- name: download & unzip joomla
tags: joomlanew
unarchive:
src: "{{ xmlresp.stdout }}"
dest: /home/username/public_html/
remote_src: yes
mode: 0755
仅供参考,python脚本中用于解析XML的代码将是:
from xml.dom import minidom
xmldoc = minidom.parse('extension_sts.xml')
itemlist = xmldoc.getElementsByTagName('downloadurl')
last=(len(itemlist))-1
print (itemlist[last].firstChild.data)
好的,经过一些挖掘,我想最好的方法是Joomla Core的方式:
- 从 Joomla Core Update 站点 (https://update.joomla.org/core/list.xml) 的最后一个条目中获取详细信息网址 - 在本例中为 https://update.joomla.org/core/sts/extension_sts.xml
- 从您在步骤 1 中获得的 url 中获取最后一个条目的下载网址 - 在这种情况下 - 您需要确保这不是补丁网址,而是更新
此链接下载最新版本:https://github.com/joomla/joomla-cms/archive/staging.zip