Mirar
O objetivo é implantar o software assim que a compilação for aprovada usando Ansible e Gitlab.
Problema
ansible-playbook playbook.yml -u root --private-key=key.pem
implanta o software, mas
sudo -u gitlab-runner ansible-playbook playbook.yml -u root --private-key=key.pem
resulta em:
PLAY ***************************************************************************
TASK [setup] *******************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OSError: [Errno 13] Permission denied: '/root/.ansible'
fatal: [system.example.com]: FAILED! => {"failed": true, "stdout": ""}
NO MORE HOSTS LEFT *************************************************************
PLAY RECAP *********************************************************************
system.example.com : ok=0 changed=0 unreachable=0 failed=1
Discussão
A execução
ansible-playbook --help
mostra que-u
é o remote_user. Como isso está definido,root
o problema não deve ocorrer.fazer login como
gitlab-runner
e, posteriormente, executar comansible-playbook playbook.yml -u root --private-key=key.pem
sucesso
Causa
O problema foi causado porque o host foi omitido do arquivo de host conhecido que reside no diretório inicial do
gitlab-runner
usuárioSolução
gitlab-runner
, ou sejasudo su - gitlab-runner
ansible-playbook playbook.yml -u root --private-key=key.pem
yes
seAre you sure you want to continue connecting (yes/no)?
aparecerretry
botão no gitlab para reiniciar a compilação