Criando Action no Github para atualizar uma aplicação via FTP
Olá Gente!
Em muitos projetos ainda se utiliza o FTP, porem, ter que enviar ao Github e depois enviar ao FTP se torna demorado.
Para isto, podemos configurar uma Action para que sempre que um Push for feito no repositório os arquivos sejam sincronizados com um ftp.
Antes de tudo, acesse seu repositório e clique em “Settings” e depois em “Secrets and variables” e em “Actions”:
Através deste caminho podemos criar variáveis secretas para serem utilizadas nas Actions.
Aqui precisamos criar as varáveis secretas:
- FTP_USERNAME
- FTP_PASSWORD
- FTP_PORT
- FTP_SERVER
Segue exemplo:

Agora volte ao seu repositório e crie um arquivo dentro da pasta “.github/workflows/” de seu repositório.
No meu caso, utilizo nome “release.yml”.
Agora defina o nome de sua Action:
name: ReleaseAgora iremos configurar para que esta ação seja executada toda vez que um Push for feito:
on: pushAgora iremos começar a configurar os “jobs”.
jobs:
web-deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- name: Get latest code
uses: actions/checkout@v2
- name: Sync files
uses: SamKirkland/[email protected]
with:
server: ${{ secrets.ftp_server }}
port: ${{ secrets.ftp_port }}
username: ${{ secrets.ftp_username }}
password: ${{ secrets.ftp_password }}Devemos ter um arquivo “release.yml” similar a arquivo abaixo:
name: Release
on: push
jobs:
web-deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- name: Get latest code
uses: actions/checkout@v2
- name: Sync files
uses: SamKirkland/[email protected]
with:
server: ${{ secrets.ftp_server }}
port: ${{ secrets.ftp_port }}
username: ${{ secrets.ftp_username }}
password: ${{ secrets.ftp_password }}Vamos entender o que esta sendo feito:
- Carregamos “actions/checkout@v2” que é necessário para toda ação
- Carregamos o repositório “SamKirkland/[email protected]” que é uma Action para enviar arquivos via FTP
- Definimos as variáveis dentro do campo “with”
Pronto! Agora sempre que um Push for feito os arquivos serão sincronizados com o FTP.
Por hoje é só, pessoal! 👩💻
Até a próxima! 👋
Leia também
7 repositórios open source que valem o clone
CRM com agente de IA, SEO sem Semrush, monitor de sites, clonador de páginas, raspagem, OCR e OSINT: sete projetos open source e a armadilha de cada um.
10 ferramentas open source para quem faz web
Dez repositorios do GitHub que uso de verdade: listas curadas, APIs gratuitas, IA local e agentes de codigo.
GitHub Actions: compilando Electron para 3 sistemas
Um workflow que compila seu app Electron para Windows, macOS e Linux a cada tag: os 6 erros reais que apareceram no caminho e como resolvi cada um.