Copiar archivos estáticos con scp usando github actions

Angel Cruz
Angel Cruz
Tabla de contenidos

Usemos scp usando github actions para publicar contenido estático creado por algun generador de sitios estáticos como pelican, jigsaw o gatsby a nuestro servidor.

La manera facíl, sencilla y rápido es con este workflow:

1name: Deploy
2 
3on:
4 push:
5 branches:
6 - master # Change this to your default branch
7jobs:
8 build:
9 
10 runs-on: ubuntu-latest
11 
12 steps:
13 - uses: actions/checkout@v2
14 
15 - name: Copy file via scp
16 uses: appleboy/scp-action@master
17 env:
18 HOST: ${{ secrets.HOST }}
19 USERNAME: ${{ secrets.USERNAME }}
20 PORT: ${{ secrets.PORT }}
21 KEY: ${{ secrets.SSHKEY }}
22 PASSPHRASE: ${{secrets.PASSPHRASE}}
23 with:
24 source: "."
25 target: ${{ secrets.TARGET }}

Hay que crear variables de entornos secretas para los valores que vamos a usar:

  • HOST

  • USERNAME

  • PORT

  • SSHKEY

  • PASSPHRASE

Este workflow debe ir en la siguiente ruta: .github/workflows/publish.yml y listo, al hacer esto cada vez que hagan un push a su rama master se va a publicar automáticamente en su servidor sin problemas.

Nota: Es recomendable tener una SSHKEY dedicada a esta labor únicamente y que no contenga PASSPHRASE, de tenerla tendrán que agregarla en las secrets para que el script pueda funcionar.

Te podrá interesar
Cursor anunció un ajuste en sus precios a partir del 15 de septiembre de 2025. Descubre cómo afectará a los usuarios, por qué ocurre este cambio y qué alternativas existen.
GitHub no cierra, pero ya no será lo mismo. Con la salida de Thomas Dohmke como CEO y la decisión de Microsoft de no reemplazarlo, la plataforma dejará de operar como entidad independiente y pasará a formar parte del equipo CoreAI, liderado por Jay Parikh.
Aprende cómo crear reglas personalizadas en Cursor IDE paso a paso. Incluye ejemplos, mejores prácticas y un generador de reglas online para facilitar el proceso.
Logo de Angel Cruz

Made with ♥️ & 🧉 in Montevideo, Uruguay Buenos Aires, Argentina.

[AC].dev is not affiliated with Laravel or Laravel LLC. Laravel is a Trademark of Taylor Otwell.

Code highlighting provided by Torchlight.