Composite action e pubblicazione nel Marketplace
Crei composite action che raggruppano più step, le versioni correttamente e pubblichi la sua action personalizzata nel GitHub Marketplace per poterla riutilizzare.
Composite action e pubblicazione nel Marketplace è una lezione CI/CD with GitHub Actions & DevOps Pipelines gratuita su CoddyKit. Questa è la lezione 4 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 CI/CD with GitHub Actions & DevOps Pipelines, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso CI/CD with GitHub Actions & DevOps Pipelines include 4 lezioni in totale.
Tre tipi di custom action
GitHub supporta tre modalità per creare una custom action:
- Azioni JavaScript — eseguono codice Node
- Azioni Docker — vengono eseguite all'interno di un container
- Azioni Composite — raggruppano più passaggi del workflow
Questa lezione si concentra sulle azioni composite e sulla pubblicazione.
Che cos'è un'azione composite
Un'azione composite raggruppa diversi passaggi run e chiamate ad altre azioni in un'unica unità riutilizzabile, senza scrivere JavaScript né creare un'immagine Docker.
È ideale per racchiudere una sequenza ripetuta di comandi shell.
Il file action.yml
Ogni azione è definita da un file action.yml nella directory principale. Per un'azione composite, imposti runs.using su composite.
name: Setup Project
description: Install deps and build
runs:
using: composite
steps:
- run: npm ci
shell: bash
- run: npm run build
shell: bashShell obbligatoria
Una regola non immediata: nelle azioni composite, ogni passaggio run deve dichiarare una shell. Dimenticarla è l'errore più comune quando si creano azioni composite.
- run: echo 'hello'
shell: bashDefinizione degli input
Renda l'azione configurabile con inputs. Chi la usa passa i valori tramite with e può farvi riferimento come inputs.<name>.
inputs:
node-version:
description: Node version
required: false
default: '20'
runs:
using: composite
steps:
- run: echo Using ${{ inputs.node-version }}
shell: bashDefinizione degli output
Un'azione composita può restituire output. Uno step scrive in GITHUB_OUTPUT e l'azione lo associa a un output denominato.
outputs:
build-id:
value: ${{ steps.gen.outputs.id }}
runs:
using: composite
steps:
- id: gen
run: echo "id=$(date +%s)" >> $GITHUB_OUTPUT
shell: bashUtilizzo di un'azione locale
È possibile fare riferimento tramite percorso a un'azione archiviata nello stesso repository, una soluzione ideale durante lo sviluppo prima della pubblicazione.
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-project
with:
node-version: '20'Gestione delle versioni con i tag
Le azioni pubblicate fanno riferimento a un git ref. Best practice: contrassegnare le release con tag come v1.0.0 e mantenere anche un tag mobile v1.
Chi utilizza @v1 riceve automaticamente gli aggiornamenti non soggetti a breaking change.
git tag -a v1.0.0 -m 'release'
git tag -f v1
git push --tags --forcePreparazione per il Marketplace
Per pubblicare un'azione nel GitHub Marketplace, questa deve trovarsi in un repository pubblico con un file action.yml contenente name, description e, idealmente, branding (icona e colore).
branding:
icon: package
color: bluePubblicazione della release
Nella pagina Releases del repository, crei una release per il Suo tag. GitHub mostra una casella di controllo Publish this Action to the Marketplace.
Accetti l'accordo, scelga le categorie e pubblichi. L'azione diventa ricercabile da chiunque.
Documentazione dell'utilizzo
Una buona azione viene distribuita con un README chiaro che mostra un esempio di utilizzo, gli input e gli output.
Le aziende che valutano la Sua azione fanno grande affidamento su questa documentazione, quindi la mantenga accurata e completa.
Verifica rapida
Verifichi la Sua comprensione delle azioni composite.
Riepilogo
Ha imparato a creare e pubblicare azioni composite.
- Le azioni composite raggruppano gli step tramite
runs.using: composite - Ogni step di esecuzione richiede un
shellesplicito - Esponga input e output per consentirne il riutilizzo
- Utilizzi tag con versionamento semantico e un tag principale mobile, quindi pubblichi nel Marketplace
Le azioni riutilizzabili consentono ai team di gestire la logica CI/CD condivisa su larga scala.
Domande Frequenti
La lezione «Composite action e pubblicazione nel Marketplace» è gratuita?
Sì — il testo completo di «Composite action e pubblicazione nel 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 CI/CD with GitHub Actions & DevOps Pipelines, passa a CoddyKit PRO. Il corso CI/CD with GitHub Actions & DevOps Pipelines include 4 lezioni in totale.
Cosa imparerò in «Composite action e pubblicazione nel Marketplace»?
Crei composite action che raggruppano più step, le versioni correttamente e pubblichi la sua action personalizzata nel GitHub Marketplace per poterla riutilizzare. Eserciti CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines?
Non è richiesta alcuna esperienza precedente. CI/CD with GitHub Actions & DevOps Pipelines su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Composite action e pubblicazione nel 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 CI/CD with GitHub Actions & DevOps Pipelines?
Sì. Ogni lezione CI/CD with GitHub Actions & DevOps Pipelines 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
- Sviluppare GitHub Actions personalizzate
- Runner self-hosted on-premise
- Integrazione con sistemi aziendali
- Composite action e pubblicazione nel Marketplace