Upload automático com Github Actions
Como automatizar o upload do GitHub para a Simply.com com GitHub Actions via FTP ou SSH.
É possível fazer upload automático do seu repositório GitHub, usando GitHub Actions.
Podemos recomendar o seguinte:
- https://github.com/marketplace/actions/ftp-deploy (FTP)
- https://github.com/marketplace/actions/ssh-deploy (SSH)
- https://github.com/marketplace/actions/web-deploy-anything (SSH)
Exemplos
1. FTP‑deploy com ftp‑deploy
name: Deploy til Simply.com (FTP)
on:
push:
branches: [ main ]
jobs:
ftp-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Upload via FTP
uses: SamKirkland/FTP-Deploy-Action@4
with:
server: ftp.simply.com # o seu servidor FTP
username: ${{ secrets.FTP_USER }} # nome de utilizador guardado como secret
password: ${{ secrets.FTP_PASS }} # palavra-passe guardada como secret
local-dir: ./public # pasta com os ficheiros a ser implementados
server-dir: /public_html # destino no servidor
2. SSH‑deploy com ssh‑deploy
name: Deploy til Simply.com (SSH)
on:
push:
branches: [ main ]
jobs:
ssh-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Deploy via SSH
uses: appleboy/ssh-action@v0.1.10
with:
host: ssh.simply.com
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: 22
script: |
rsync -avz --delete ./public/ ${{ secrets.SSH_USER }}@ssh.simply.com:/public_html/
3. Web‑deploy‑anything (SSH) – exemplo genérico
name: Deploy med Web Deploy Anything
on:
push:
branches: [ main ]
jobs:
web-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Deploy til server via SSH
uses: actions-web-deploy-anything@v1
with:
host: ssh.simply.com
username: ${{ secrets.SSH_USER }}
password: ${{ secrets.SSH_PASS }} # ou usar `private-key`
source: ./public
destination: /public_html
Dica: Guarde as suas credenciais (nome de utilizador, palavra‑passe, chave privada, etc.) como secrets no seu repositório GitHub (Configurações → Secrets and variables → Actions). Desta forma não expõe dados sensíveis no ficheiro de workflow.
Lembre‑se de que os seus ficheiros “public” devem, por defeito, ser implementados na pasta public_html nos nossos servidores.
Artigo da categoria de suporte: FTP