まとめ
- 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
以上です。
