ansible 을 통해서 자동화 하는 과정 에 일련번호를 가지는 폴더를 각 서버나 playbook 구동 횟수마다 다르게 증가시키고 싶을 수 있습니다
크게
- 변수를 변화(증가) 시키고 싶다
- 다시 해당 변수를 사용할 때에 증가된 상태로 사용 하고 싶다
- name: Get current index local_action: shell file=$((`cat /usr/awakenlegends/variable_global/master` + 1)); echo $file | tee /usr/awakenlegends/variable_global/master register: file_num - name: show debug: msg: "{{ file_num.stdout }}"
간단하게 해당 파일에 별다른 내용 없이 딱 숫자 값만 존재하게 한다고 보고 사용한 task 입니다
파일을(로컬) 에서 읽으며 +1 한 값을 다시 해당 파일로 write 합니다
결과를 register 로 등록 합니다
이때 register 에 등록된 내용은
ok: [localhost] => {
"msg": {
"changed": true,
"cmd": "file=$((`cat /home/variable_global/game` + 1)); echo $file | tee /home/variable_global/game",
"delta": "0:00:00.004839",
"end": "2022-07-25 10:21:39.677014",
"failed": false,
"msg": "",
"rc": 0,
"start": "2022-07-25 10:21:39.672175",
"stderr": "",
"stderr_lines": [],
"stdout": "7",
"stdout_lines": [
"7"
]
}
}
대략 위와 같다고 보면 됩니다
실제 원하는 text 는 stdout 에 존재합니다
file_num.stdout 을 {{filenum.stdout | int}} 사용하면 됩니다 이제
댓글 남기기