Em muitos casos, dependendo do software, a configuração depende da inclusão de cabeçalhos abertos no diretório de trabalho atual.
ansible suporta um argumento "chdir". Talvez seja essa a solução que funcionará para você?
Estou escrevendo um playbook ansible que deve compilar a partir da fonte algumas ferramentas e instalá-lo.
Ao verificar meu playbook, tentei executar os comandos relevantes manualmente para verificar sua saída.
Então, no meu ansible play book eu configurei isso:
- name: Configure kafkacat
command: . {{ install_dest }}/configure arg1
args:
enable_json: "--enable-json"
sudo: yes
Mas antes de executar o manual, eu corri manualmente:
. /tmp/kafkacat/configure --enable-json
, que deveria ser equivalente a executar ./configure
no diretório atual, mas o comando falha e eu recebo um erro.
Então, como isso pode ser feito? Agradecemos antecipadamente
Não, não acho que sejam equivalentes. O ponto sem o seguinte espaço substitui o caminho para o seu atual diretório , enquanto um ponto que precede um espaço faz com que os comandos de um script sejam executados em seu shell atual. Há uma boa explicação aqui: link
Tags bash configuration