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
Nibleaf: documentação vinda do GitHub a cada push
Conectei um repositório público do GitHub ao Nibleaf, importei 43 páginas Markdown e fiz o webhook reimportar sozinho a cada push.
Cloudflare Pages: publicando um site do GitHub
Como criar um projeto no Cloudflare Pages pela API, ligar ao repositório do GitHub e apontar os domínios, com Node.js puro.
Node.js: automatizando o Git, do repositório ao revert
Como criar o repositório, apontar o remoto no GitHub, commitar, dar push, listar as versões e reverter uma delas — tudo a partir do Node.js.


