You have two options to use source with ansible. One is with the "shell:" command and /bin/sh (the ansible default). "source" is called "." in /bin/sh. So your command would be:
- name: source bashrc
sudo: no
shell: . /home/username/.bashrc && [the actual command you want run]
Note you have to run a command after sourcing .bashrc b/c each ssh session is distinct - every ansible command runs in a separate ssh transaction.
Your second option is to force Ansible shell to use bash and then you can use the "source" command:
- name: source bashrc
sudo: no
shell: source /home/username/.bashrc && [the actual command you want run]
args:
executable: /bin/bash
Finally, I'll note that you may want to actually source "/etc/profile" if you're on Ubuntu or similar, which more completely simulates a local login.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…