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

Simplificando o processo: Configurando uma Action para sincronizar arquivos com FTP após Push no GitHub

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: 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/[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! 👋