variables - ansible:从 url 中获取字符串
问题描述
我正在尝试根据发布页面自动将 node_exporter 安装到最新版本。
我有:https://api.github.com/repos/prometheus/node_exporter/releases/latest 作为源,并希望“tag_name”变量作为我的操作的结果,用于检查版本是最新的。
如何检索版本号?
到目前为止我的代码:
- name: fetch version test
debug: msg="{{item}}"
loop: "{{ lookup('url', 'https://api.github.com/repos/prometheus/node_exporter/releases/latest', wantlist=True) }}"
register: msgtest
输出如下:
..
"msg": {
"assets": [
{
"browser_download_url": "https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.darwin-amd64.tar.gz",
"content_type": "application/gzip",
...
...
..
"rocket": 0,
"total_count": 11,
"url": "https://api.github.com/repos/prometheus/node_exporter/releases/47430704/reactions"
},
"tag_name": "v1.2.2",
"tarball_url": "https://api.github.com/repos/prometheus/node_exporter/tarball/v1.2.2",
"target_commitish": "26645363b486e12be40af7ce4fc91e731a33104e",
"upload_url": "https://uploads.github.com/repos/prometheus/node_exporter/releases/47430704/assets{?name,label}",
"url": "https://api.github.com/repos/prometheus/node_exporter/releases/47430704",
"zipball_url": "https://api.github.com/repos/prometheus/node_exporter/zipball/v1.2.2"
}
}
我不正确地理解如何解决我得到的结果。
解决方案
这是我的结果:
- set_fact:
version: "{{ lookup('url', 'https://api.github.com/repos/prometheus/node_exporter/releases/latest') }}"
- debug:
var: version.tag_name
- name: "Set node_exporter version "
set_fact:
node_exporter_version: "{{ version.tag_name[1:] }}"
- name: fetch promethous packages
unarchive:
src: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz"
dest: /tmp
remote_src: yes
推荐阅读
- reactjs - 将 Google 或 Facebook Oauth 访问令牌存储在 AsyncStorage 中以在 React Native 中进行登录身份验证是否安全?
- c# - C# 中的 CefSharp 构建问题
- yaml - 在 azure 管道 yaml 文件中,PowerShell 命令可以在 bash 中运行吗?
- node.js - $slice 在 mongoDB 的嵌入式文档中不起作用
- android - 当应用程序在后台时,Android 会提供缓存的本地化
- asp.net-core - 获取角色列表作为列表
结果是 ASP.NET Core Web API - python - 检测地图中的棕色区域并计算其面积
- c# - 如何将运行状况检查添加到 .Net 核心后台服务
- php - 从表单输入中检索数据
- pandas - Pandas 减去不适用于 .iloc 的列