我正在使用Ansible自动化我的DevOps任务。在远程计算机上,我有一个配置文件,可用于执行不同的任务。
env.conf
文件具有以下内容
IP=192.168.1.100
PORT=5250
#Other details here
我要执行的操作将IP值192.168.1.100
和端口值'5250'替换为其他一些值
IP=NEW_IP
PORT=NEW_PORT
#Other details here
如何使用ansible-playbook文件实现此目标?
我知道ansible文件模块,但是如何使用ansible-playbook文件替换环境变量的内容。
答案 0 :(得分:1)
您要寻找的是Ansible module lineinfile。作为剧本,您可以使用以下内容:
- hosts: all
vars:
new_ip: 1.1.1.1
new_port: 1234
tasks:
- file:
path: /etc/env.conf
state: touch
- name: Substitute ip
lineinfile:
path: /etc/enc.conf
regexp: '^IP='
line: 'IP={{ new_ip }}'
- name: Substitute port
lineinfile:
path: /etc/env.conf
regexp: '^PORT='
line: 'PORT={{ new_port }}'