Giuseppe Surace

Continuous integration: Deploy FTP con Github

Automatizzare il deploy sui server (ftp) ad esempio, è una delle possibili ed infinite operazioni che semplificano la vita e la continuous integration con Github. E’ possibile infatti creare delle actions come quella che vedremo oggi, dove ad esempio ad ogni push sul repository git o su un branch specifico è possibile far partire automaticamente su un server FTP il deploy senza dover fare altro.

https://github.com/marketplace/actions/ftp-deploy

Andate nella cartella del vostro repository principale e create questo file /.github/workflows/main.yml

Copiate il contenuto da qui, tenendo presente che:

server / username e password saranno le vostre, e potrete salvarle all’interno del progetto git su settings -> secrets -> add secret.

Non inserite MAI dati sensibili direttamente nel file yaml, perché non è affatto sicuro!

Ricordate di memorizzare tutto sugli utilissimi  SECRETS all’interno di github.

Nell’esempio che segue vediamo la action “Sync files" che ad ogni push sincronizza automaticamente le modificge con il vostro server ftp.

Andate nella cartella del vostro repository principale e create questo file /.github/workflows/main.yml

on: push
name: 🚀 Deploy website on push
jobs:
  web-deploy:
    name: 🎉 Deploy
    runs-on: ubuntu-latest
    steps:
    - name: 🚚 Get latest code
      uses: actions/checkout@v2
    
    - name: 📂 Sync files
      uses: SamKirkland/FTP-Deploy-Action@4.1.0
      with:
        server: ftp.samkirkland.com
        username: myFtpUserName
        password: ${{ secrets.ftp_password }}