Este artículo tiene más de un año de antigüedad, el contenido pudiera estar obsoleto.
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: 910 runs-on: ubuntu-latest1112 steps:13 - uses: actions/checkout@v21415 - name: Copy file via scp16 uses: appleboy/scp-action@master17 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 siguente ruta: .github/workflows/publish.yml
y listo, al hacer esto cada vez que hagan un push a su rama master se va a publicar automaticamente en su servidor sin problemas.
Nota: Es recomendable tener una SSHKEY dedicada a esta labor unicamente y que no contenga PASSPHRASE, de tenerla tendran que agregarla en las secrets para que el script pueda funcionar.