• Home
  • Blog
  • Deploy di un tema WordPress con GitHub

Deploy di un tema WordPress con GitHub

Novembre 10, 2022

Deploy di un tema WordPress con GitHub

E´ possibile fare il deploy di un tema #WordPress con GitHub?

Codice minificato, “bundler” di vario tipo, package manager per JavaScript e per PHP e chi più ne ha più ne metta… Questi sono solo alcuni dei motivi per cui scegliere di automatizzare il deploy di un tema #WordPress.

Certo é sempre possibile caricare ogni volta i file con l’ftp, ma perché farlo manualmente quando può occuparsi di tutto GitHub?

Veniamo subito alla guida per automatizzare il deploy

Per prima cosa il codice del tema deve trovarsi in una repository di GitHub.

Create una cartella .github all’interno della repo. Dentro a questa cartella create un’altra cartella chiamata workflows e al suo interno un file main.yml. Potete dare a questo file il nome che preferite, l’importante é mantenere l’estensione .yml.

La struttura delle cartelle sará cosí: .github/workflows/main.yml

Il file .yml

Iniziamo a creare il nostro workflow per automatizzare il deploy

name: Deploy via FTP
on:
  push:
    branches: [ main ]

name sará semplicemente il nome che visualizzeremo nella tab Actions della repository

Tab GitHub Actions

on: qui le cose si fanno interessanti. Definiamo qui il nostro trigger. In questo caso vogliamo effettuare il deploy al push, abbiamo però aggiunto un filtro: ci interessa solo il push fatto al branch main. In questo modo possiamo avere un branch per lo sviluppo, magari automatizzando il deploy anche di questo su un sito di staging.

jobs:
  build:
    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash

Ora arriviamo alle azioni, jobs, che seguirà, per default in parallelo, il nostro workflow. build sará il nome del nostro unico job

runs-on: dove vogliamo far “girare” il nostro workflow? GitHub ci da diverse possibilità elencate qui.

Le ultime tre righe servono per impostare una shell di default per tutte le run

 steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 2
    - name: FTP Deploy WP Theme
      uses: SamKirkland/FTP-Deploy-Action@4.3.2
      with:
        server: FTP SERVER
        username: FTP USERNAME
        password: ${{ secrets.FTP_PASSWORD }}
        server-dir: FTP DIR
        exclude: |
          **/.git*
          **/.git*/**
          **/node_modules/**

Siamo agli step finali del nostro workflow. Dobbiamo solamente preoccuparci di scrivere il nostro indirizzo del server ftp e l’username, oltre che alla cartella di destinazione (la cartella del nostro tema).

Visto che questo file sará accessibile dalla repository, possiamo mantenere segrete alcune impostazioni come la nostra password. Per farlo possiamo impostare una nuova chiave segreta dalla tab Setting/Secrets/Actions

Deploy di un tema <a href=#WordPress con GitHub - Secret key GitHub repository" class="wp-image-264" srcset="https://www.maiowebdesign.it/wp-content/uploads/2022/11/Schermata-2022-11-10-alle-12.35.34-1024x625.png 1024w, https://www.maiowebdesign.it/wp-content/uploads/2022/11/Schermata-2022-11-10-alle-12.35.34-300x183.png 300w, https://www.maiowebdesign.it/wp-content/uploads/2022/11/Schermata-2022-11-10-alle-12.35.34-768x469.png 768w, https://www.maiowebdesign.it/wp-content/uploads/2022/11/Schermata-2022-11-10-alle-12.35.34.png 1246w" sizes="(max-width: 1024px) 100vw, 1024px" />

Siete stufi di leggere e volete solo fare un bel copia incolla? Trovate il file .yml e la struttura delle cartelle già pronta #WordPress-Theme-deploy" target="_blank" rel="noreferrer noopener">qui