---
title: "Copiar archivos estáticos con scp usando github actions"
excerpt: "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."
date: "2020-08-22T05:16:23.000Z"
category: "DevOps"
seo_title: "Publicar sitios estáticos con SCP y GitHub Actions automáticamente"
seo_description: "Automatiza el despliegue de sitios estáticos con SCP usando GitHub Actions. Workflow con secretos SSH para publicar en tu servidor en cada push a la rama master."
author:
  name: "angel cruz"
  picture: "https://angelcruzdevcdn.nyc3.cdn.digitaloceanspaces.com/images/me/angel-cruz.png"
---

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


```bash
name: Deploy

on:
  push:
    branches:
      - master # Change this to your default branch
jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - name: Copy file via scp
      uses: appleboy/scp-action@master
      env:
        HOST: ${{ secrets.HOST }}
        USERNAME: ${{ secrets.USERNAME }}
        PORT: ${{ secrets.PORT }}
        KEY: ${{ secrets.SSHKEY }}
        PASSPHRASE:  ${{secrets.PASSPHRASE}}
      with:
        source: "."
        target: ${{ secrets.TARGET }}
```

Hay que crear [variables de entornos secretas](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets) 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.

---

## Sitemap

Índice completo del sitio: [/sitemap.md](https://angelcruz.dev/sitemap.md)

Canónico HTML: [https://angelcruz.dev/post/copiar-archivos-estaticos-con-scp-usando-github-actions](https://angelcruz.dev/post/copiar-archivos-estaticos-con-scp-usando-github-actions)
