2
respostas

[Dúvida] Erro no script- não envia o arquivo para o host remoto

#!/bin/bash
cd /home/ubuntu
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py
sudo python3 -m pip install ansible
tee -a playbook.yml > /dev/null <<EOT
- hosts: localhost
  tasks:
  - name: Instalando Python3, virtualenv
    apt:
      pkg:
      - python3
      - virtualenv
      update_cache: yes
    become: yes
  - name: Clone API
    ansible.builtin.copy:
      src: /home/thiago/All-projects/TerraAnsKube-Infra/api/
      dest: /home/ubuntu/app
      remote_src: yes
      recurse: yes
  - name: Instalando dependencias com pip (Django e Django rest)
    pip: 
      virtualenv: /home/ubuntu/app/venv
      requirements: /home/ubuntu/app/requirements.txt
  - name: Alterando o hosts do settings
    lineinfile:
      path: /home/ubuntu/app/setup/settings.py
      regexp: "ALLOWED_HOSTS"
      line: "ALLOWED_HOSTS = ['*']"
      backrefs: yes
  - name: configurando o BD
    shell: '. /home/ubuntu/app/venv/bin/activate; python /home/ubuntu/app/manage.py migrate'
    
  - name: carregando os dados BD
    shell: '. /home/ubuntu/app/venv/bin/activate; python /home/ubuntu/app/manage.py loaddata clientes'

  - name: Iniciando Server
    shell: '. /home/ubuntu/app/venv/bin/activate; nohup python /home/ubuntu/app/manage.py runserver 0.0.0.0:8000 &'
EOT
ansible-playbook playbook.yml
2 respostas
    ansible.builtin.copy:
      src: /home/thiago/All-projects/TerraAnsKube-Infra/api/
      dest: /home/ubuntu/app
      remote_src: yes
      recurse: yes

Esta parte do script não está copiando o arquivos da pasta api para o host remoto.

Oii, Thiago! Tudo bem?

Uma possível solução para esse problema é verificar se o caminho do arquivo de origem /home/thiago/All-projects/TerraAnsKube-Infra/api/ está certinho e se o destino /home/ubuntu/app existe no host remoto.

Além disso, veja se o Ansible está instalado do modo correto e está no host remoto. Caso contrário, você pode adicionar uma tarefa no seu playbook para instalar o Ansible antes de copiar o arquivo, tá bem?

Ah! Outra sugestão é checar se o arquivo playbook.yml está no mesmo diretório em que você está executando o script

Se a dúvida persistir, estamos aqui no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software