【规则解释·基础】内联环境变量

本文是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
广告
将在 10 秒后关闭
bannerAds