Ansible multi stage environment

Ho fols,

I was wondering if anyone could advise on how I can manage multi environment variables using ansible. Imagine i have development and staging. I have the following structure:

.
├── inventories
│ ├── development
│ │ ├── group_vars
│ │ │ └── all.yml
│ │ └── hosts
│ └── staging
│ ├─── group_vars
│ │ └── all.yml
│ │ └── hosts
├── roles
└── test.yml

In each all.yml file, i have one variable like this:

vars:
name:“development”

I was wondering how is the best approach to load the values depending on a parameter to set for example on command line (-i env=development).

In test.yml, I have this:

  • name: test playbook

hosts: localhost
connection: local

tasks:

  • name:
    debug:
    var: name

When I execute, I get this:

ansible-playbook -i inventories/development/ test.yml -vvv

ok: [localhost] => {
“name”: “VARIABLE IS NOT DEFINED!: ‘name’ is undefined”
}

I’m kind of new to ansible and I’ve found thousands of different ways and I was wondering what is the best approach? Because I’m kind of lost :frowning: :frowning:

Regards,

Ho fols,

I was wondering if anyone could advise on how I can manage multi environment variables using ansible. Imagine i have
development and staging. I have the following structure:

.
├── inventories
│ ├── development
│ │ ├── group_vars
│ │ │ └── all.yml
│ │ └── hosts
│ └── staging
│ ├─── group_vars
│ │ └── all.yml
│ │ └── hosts
├── roles
└── test.yml

In each all.yml file, i have one variable like this:

vars:
name:"development"

It should be

name: "development"

as this file is only for variables and therefore "vars: " is not needed.

Regards
       Racke

Thank you :slight_smile: