0Pricing
Git & GitHub Professional Workflow · Lezione

Action personalizzate e Marketplace

Esplori il GitHub Actions Marketplace alla ricerca di action predefinite e impari a crearne di personalizzate.

Action personalizzate e Marketplace è una lezione Git & GitHub Professional Workflow gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Git & GitHub Professional Workflow, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Git & GitHub Professional Workflow include 4 lezioni in totale.

Scopri il GitHub Actions Marketplace

Benvenuto nel GitHub Actions Marketplace! È un vivace punto di riferimento in cui trovare migliaia di actions predefinite create da GitHub, collaboratori open source e partner commerciali.

Queste actions possono essere facilmente integrate nei workflow, facendole risparmiare tempo e fatica grazie al riutilizzo di soluzioni esistenti per le attività comuni.

Come trovare l'action giusta

Esplorare il Marketplace è semplice. Può cercare actions per parola chiave, filtrare per categoria, ad esempio "CI/CD" o "Deployment", e ordinarle per popolarità.

  • Cerchi actions con molte stelle e una manutenzione attiva.
  • Consulti la documentazione dell'action per informazioni su utilizzo, input e output.
  • Verifichi quante volte un'action è stata usata nei repository pubblici, come prova della sua affidabilità.

Integra un'action pronta all'uso

Usare un'action del Marketplace è semplice. Vi si fa riferimento usando la parola chiave uses nel file YAML del workflow, seguita da owner/repo@version dell'action.

Un esempio comune è actions/checkout, che estrae il codice del repository affinché il workflow possa accedervi.

name: Marketplace Demo
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Say hello
        run: echo "Hello from workflow!"

Input e output delle actions

Molte actions accettano input per personalizzare il proprio comportamento, specificati usando la parola chiave with. Possono inoltre produrre output che altri passaggi del workflow possono usare.

Ad esempio, l'action actions/setup-node può ricevere un input node-version.

name: Node Setup Demo
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Node.js 18.x
        uses: actions/setup-node@v3
        with:
          node-version: '18.x'
      - name: Install dependencies
        run: npm install

Quando creare una propria action

Sebbene il Marketplace offra moltissime soluzioni, a volte serve qualcosa di specifico. È in questi casi che le actions personalizzate si rivelano utili!

Potrebbe creare un'action personalizzata per:

  • Automatizzare gli strumenti interni dell'azienda.
  • Integrare un'API specifica non supportata dalle actions esistenti.
  • Eseguire attività altamente specializzate, specifiche del processo di build del progetto.

Tipi di actions personalizzate

È possibile creare due tipi principali di actions personalizzate:

  • JavaScript Actions: vengono eseguite direttamente sulla macchina runner usando Node.js. Spesso sono più rapide da sviluppare e più facili da condividere.
  • Docker Container Actions: vengono eseguite all'interno di un container Docker. Sono ideali per isolare ambienti e dipendenze, garantendo un'esecuzione coerente su runner diversi.

Per semplicità, ci concentreremo sulle actions JavaScript.

Il file `action.yml`

Ogni action personalizzata necessita di un file action.yml. Questo file definisce i metadati dell'action, inclusi nome, descrizione, input accettati, output prodotti e modalità di esecuzione.

È come il manifest dell'action e comunica a GitHub Actions tutto ciò che deve sapere.

name: 'My Custom Greeting Action'
description: 'Greets a person with a custom message.'
inputs:
  who-to-greet:
    description: 'Who to greet'
    required: true
    default: 'World'
outputs:
  time:
    description: 'The time we greeted you'
runs:
  using: 'node16'
  main: 'index.js'

Creazione di una semplice action JavaScript

Creiamo una action JavaScript molto semplice. Serviranno un file index.js, specificato in action.yml, e in genere un file package.json per le dipendenze.

Il pacchetto @actions/core è essenziale per interagire con il workflow, ad esempio per recuperare gli input e impostare gli output.

const core = require('@actions/core');

async function run() {
  try {
    const nameToGreet = core.getInput('who-to-greet');
    console.log(`Hello ${nameToGreet}!`);

    const time = (new Date()).toTimeString();
    core.setOutput("time", time);

  } catch (error) {
    core.setFailed(error.message);
  }
}

run();

Integrazione della action personalizzata

Per usare la action personalizzata, inserisca i relativi file, come action.yml e index.js, in una sottodirectory del repository. Quindi vi faccia riferimento nel workflow usando un percorso relativo con uses: ./path/to/your/action.

In questo modo potrà testare la action localmente prima di eventualmente pubblicarla nel Marketplace.

name: Use Custom Action Demo
on: [push]
jobs:
  greet:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run my custom action
        uses: ./my-custom-action # Path to action directory
        with:
          who-to-greet: 'CoddyKit User'
      - name: Get the output time
        run: echo "The greeting time was ${{ steps.run-my-custom-action.outputs.time }}"

Componenti di una action personalizzata

Ha appreso gli elementi chiave per creare e usare actions personalizzate di GitHub. Verifichiamo la Sua comprensione!

Riepilogo: Marketplace e actions personalizzate

Ottimo lavoro! Ha esplorato le potenzialità del GitHub Actions Marketplace e delle actions personalizzate.

  • Il Marketplace offre un'ampia scelta di actions pronte all'uso per semplificare i workflow.
  • Le actions personalizzate consentono di estendere GitHub Actions per soddisfare esigenze specifiche del progetto o dell'organizzazione.

Combinando queste possibilità, può creare pipeline di automazione estremamente potenti e personalizzate!

Domande Frequenti

La lezione «Action personalizzate e Marketplace» è gratuita?

Sì — il testo completo di «Action personalizzate e Marketplace» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Git & GitHub Professional Workflow, passa a CoddyKit PRO. Il corso Git & GitHub Professional Workflow include 4 lezioni in totale.

Cosa imparerò in «Action personalizzate e Marketplace»?

Esplori il GitHub Actions Marketplace alla ricerca di action predefinite e impari a crearne di personalizzate. Eserciti Git & GitHub Professional Workflow con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Git & GitHub Professional Workflow?

Non è richiesta alcuna esperienza precedente. Git & GitHub Professional Workflow su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Action personalizzate e Marketplace»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Git & GitHub Professional Workflow?

Sì. Ogni lezione Git & GitHub Professional Workflow include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Introduzione a GitHub Actions
  2. Creazione di workflow CI/CD
  3. Action personalizzate e Marketplace
  4. Segreti e variabili d’ambiente nelle Actions
← Torna a Git & GitHub Professional Workflow