GitHUB actions, sincronizar com hostgator compartilhado
Autor: Eurai Criado: 09/06/2024 Atualizado: 14/06/2024
Além do hostgator compartilhado, pode ser ajustado para outros e até dedicado:
1. Instalar o gti
2. Criar seu projeto
3. Sincronizar seu GIT projeto com o GIT (Github)
4. Abrir seu projeto GTI
5. Abrir Settings
6. Criar as chaves
7 No seu projeto, criar esta estrutura.
8. Dentro do arquivo main.yml, copiar e colar o conteúdo. Ajustar conforme necessidade.
on:
push:
branches:
- main
name: 🚀 Deploy website on push
jobs:
web-deploy:
name: 🎉 Deploy
runs-on: ubuntu-latest
steps:
- name: 🚚 Get latest code
uses: actions/checkout@v4
- name: 📂 Sync files
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
server: ${{ secrets.ftp_host }}
username: ${{ secrets.ftp_user }}
password: ${{ secrets.ftp_password }}
OBS: No caso utilizei laravel, inertia e vue, não consegui até o momento forma de remover a pasta public/build antes de subir a nova.
Testes realizados:
- name: 🗑️ Delete public/build folder on server
run: |
echo "open ${{ secrets.ftp_host }}" > ftp_commands.txt
echo "user ${{ secrets.ftp_user }} ${{ secrets.ftp_password }}" >> ftp_commands.txt
echo "cd public/build" >> ftp_commands.txt
echo "mdelete *" >> ftp_commands.txt
echo "cd .." >> ftp_commands.txt
echo "rmdir build" >> ftp_commands.txt
echo "quit" >> ftp_commands.txt
ftp -n -v < ftp_commands.txt
- name: 🗑️ Delete public/build folder on server
run: |
sudo apt-get update
sudo apt-get install -y lftp
lftp -u ${{ secrets.ftp_user }},${{ secrets.ftp_password }} ${{ secrets.ftp_host }} -e "rm -rf public/build; quit"
- name: Upload from public_html via FTP
uses: airvzxf/ftp-deployment-action@latest
with:
server: ${{ secrets.ftp_host }}
user: ${{ secrets.ftp_user }}
password: ${{ secrets.ftp_password }}
local_dir: "./public/build"
remote_dir: "/public/build"
delete: "true"
max_retries: "7"
no_symlinks: "false"
ftp_ssl_allow: "false"
ftp_use_feat: "true"
ftp_nop_interval: "9"
net_max_retries: "0"
net_persist_retries: "11"
net_timeout: "13s"
dns_max_retries: "17"
dns_fatal_timeout: "never"
lftp_settings: "set cache:cache-empty-listings true; set cmd:status-interval 1s; set http:user-agent 'firefox';"
Resultado:
Fonte:
- CDF (Código fonte TV) Youtube
- https://github.com/marketplace/actions/ftp-deploy
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎
Um abraço, e até a próxima