Executando verificação de segurança...
1

[Dúvida] Github apagando arquivos que estão no site durante deploy

Preciso de um auxílio a respeito de deploys com github.

Meu cliente possui um callcenter, onde ele precisa salvar alguns arquivos de áudios das ligações.

Utilizei o arquivo gitignore pois em meu computador não possui os arquivos de audio que ele possuía no site, porém durante do deploy de algumas implementações pelo fato do github não reconhecer a pasta ele acabou por apagar ela da hospedagem e todos arquivos foram perdidos.

Como posso fazer o github ignorar os arquivos que estão no ar sem apagar ou alterar eles?

Os deploys são automáticos via workflows, uma solução seria fazer deploys manuais. Porém demoraria muito tempo, preciso manter eles automatizados... Alguém saberia me responder?

Carregando publicação patrocinada...
1
1
1

Então seria bom vc colar aqui o ci.yml para termos uma ideia do que pode ser, dependendo do comando que vc está utilizando pode estar removendo os arquivos no destino

1
push:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout do Repositorio
uses: actions/checkout@v1
- name: Deploy para o host
uses: easingthemes/ssh-deploy@main
env:
SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}
ARGS: "-rltgoDzvO --delete"
SOURCE: ""
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
REMOTE_PORT: ${{ secrets.REMOTE_PORT }}
TARGET: ${{ secrets.REMOTE_TARGET }}

Apaguei somente o name para não vazar os dados do cliente

3

Ok, na verdade o seu CI tá usando o rsync (de acordo com a action do easingthemes/ssh-deploy), com os argumentos: -rltgoDzvO --delete

O argumento --delete apaga todos os arquivos no destino que não estão na origem, para mais detalhes em cada argumento desse pode olhar direto na doc do rsync: https://linux.die.net/man/1/rsync

Para contornar isso creio (não testei para confirmar) ser possível usar a opção --exclude=ARQUIVO, onde ARQUIVO é um arquivo com a lista de diretórios/arquivos que não deve ser considerado pelo rsync (não vai enviar e nem apagar caso exista no destino)

2
1

Agora como recomendação usar uma política de backup para esses arquivos, o ideal também é o usuário com qual é realizado o deploy nem ter permissão para mexer nesses arquivos que não deveriam ter sido apagados