【规则解释·基础】内联环境变量
本文是Ansible lint Advent Calendar 2022活动的第26篇文章。
这次我们将解释关于规则 “inline-env-var”。
内联环境变量
inline-env-var 在ansible.builtin.command模块中验证是否定义了环境变量。
如果在Ansible中需要在执行命令的过程中定义环境变量,则可以使用ansible.builtin.shell。
有问题的代码
---
- name: Example playbook
hosts: all
tasks:
- name: Set environment variable
ansible.builtin.command: MY_ENV_VAR=my_value # <- command モジュールで環境変数が定義されている
修正后的代码1
定义环境变量并执行命令。
---
- name: Example playbook
hosts: all
tasks:
- name: Set environment variable
ansible.builtin.shell: echo $MY_ENV_VAR
environment:
MY_ENV_VAR: my_value # <- 環境変数を environment キーで定義する
修订后的代码2.
只执行定义环境变量的处理程序。
---
- name: Example playbook
hosts: all
tasks:
- name: Set environment variable
ansible.builtin.shell: MY_ENV_VAR=my_value # <- shell モジュールで環境変数を定義する
请参考以下的网站
- inline-env-var — Ansible Lint Documentation