Criando Action no Github para atualizar uma aplicação via FTP

Paloma Macetko
2 min readDec 9, 2023

--

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: Release

Agora iremos configurar para que esta ação seja executada toda vez que um Push for feito:

on: push

Agora 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/FTP-Deploy-Action@4.3.3
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/FTP-Deploy-Action@4.3.3
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/FTP-Deploy-Action@4.3.3” 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! 👋

--

--