Copiar archivos estáticos con scp usando github actions

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.

Angel Cruz's avatar
Autor
Angel Cruz