Hello, Ansible newbie here. I seem to be having a hard time understanding 
how to set target machine environmental variables, even after trying the 
several example solutions that I've found around the web.

Here are a few techniques that I've tried:

*As a separate play
- name: "try this env"
  shell: export APP_HTTP_PORT=8081

*As part of the application kick-up command:
- name: "Start example Node.js app."
  command: sudo forever -l ~/log.log -e ~/err.log -o /out.log 
/var/www/appfolder/index.js
  environment:
  APP_HTTP_PORT: "8001"
  ...

*As part of a host definition (variable)
- hosts: ec2
  name: configuration play
  user: ec2-user
  become: yes
  gather_facts: true

  environment: "{{ app_environment }}"

*As part of a host definition (direct)
- hosts: ec2
  name: configuration play
  user: ec2-user
  become: yes
  gather_facts: true

  environment: 
    APP_HTTP_PORT: "8001"
    ...

In each case, my application evaluates for the presence of specific env 
variables, and based on the logs I have, the variables are not available to 
the application. When using debug mode (-vvvv) I do indeed see the env 
variables in my console, and I see the variable being output with an 
expected value when I issue an "echo" command from the playbook - but not 
when I ssh into the server and run the identical commands. The app's logs 
indicate missing variables as well. I hope someone here would be able to 
point me in the right direction - thanks!!

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/a7f09e7e-03cb-4b53-93fe-75b47c1d7f91%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to