まとめ
- register を使う。
- 使うときは、”{{ variable_name.stdout }}” などととする (ダブルクオーテーションは必要) 。
使い方
---
- name: get OS name
command: uname -s
register: uname_s
- name: get machine name
command: uname -m
register: uname_m
- name: test
debug:
msg: "{{ uname_s }}, {{ uname_m }}"
- name: install Docker Compose
get_url:
url: "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-{{ uname_s.stdout }}-{{ uname_m.stdout }}"
dest: /usr/local/bin/docker-compose
mode: "+x"
実際に使った例
TASK [docker : get OS name] ****************************************************
changed: [default]
TASK [docker : get machine name] ***********************************************
changed: [default]
TASK [docker : test] ***********************************************************
ok: [default] => {
"msg": [
{
"changed": true,
"cmd": [
"uname",
"-s"
],
"delta": "0:00:00.003300",
"end": "2018-08-17 08:19:18.202651",
"failed": false,
"rc": 0,
"start": "2018-08-17 08:19:18.199351",
"stderr": "",
"stderr_lines": [],
"stdout": "Linux",
"stdout_lines": [
"Linux"
]
},
{
"changed": true,
"cmd": [
"uname",
"-m"
],
"delta": "0:00:00.003275",
"end": "2018-08-17 08:19:18.501063",
"failed": false,
"rc": 0,
"start": "2018-08-17 08:19:18.497788",
"stderr": "",
"stderr_lines": [],
"stdout": "x86_64",
"stdout_lines": [
"x86_64"
]
}
]
}
TASK [docker : install Docker Compose] *****************************************
changed: [default]
おわりに
いつもどうやるのでしたか、、、と調べ直していましたので、改めて抜き出し、投稿いたしました。今までの投稿とも重複していそうですけれども、気にしません♪
本投稿とは直接関係ありませんが、タスクを書く際に参考になったサイトです。ありがとうございます!
- get_url – Downloads files from HTTP, HTTPS, or FTP to node — Ansible Documentation
- unameコマンド(OSまたはハードウェアの情報を表示する) : JP1/Advanced Shell
以上です。
