Composite actions og publisering på Marketplace
Bygg composite actions som samler flere trinn, versjoner dem riktig og publiser den egendefinerte actionen Deres på GitHub Marketplace for gjenbruk.
Composite actions og publisering på Marketplace er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.
Tre typer egendefinerte actions
GitHub støtter tre måter å lage en egendefinert action på:
- JavaScript-actions — kjører Node-kode
- Docker-actions — kjører i en container
- Composite-actions — samler flere workflow-trinn
Denne leksjonen fokuserer på composite actions og publisering.
Hva er en composite action
En composite action pakker flere run-trinn og kall til andre actions i én gjenbrukbar enhet, uten at De trenger å skrive JavaScript eller bygge et Docker-image.
Den egner seg godt til å samle en sekvens av shell-kommandoer som gjentas.
Filen action.yml
Alle actions defineres av en action.yml i rotkatalogen. For en composite action setter De runs.using til composite.
name: Setup Project
description: Install deps and build
runs:
using: composite
steps:
- run: npm ci
shell: bash
- run: npm run build
shell: bashShell er obligatorisk
En viktig detaljert regel er at hvert run-trinn i composite actions må deklarere et shell. Å glemme dette er den vanligste feilen når man lager composites.
- run: echo 'hello'
shell: bashDefinere inputs
Gjør actionen konfigurerbar med inputs. Den som kaller actionen, sender verdier via with, og De refererer til dem som inputs.<name>.
inputs:
node-version:
description: Node version
required: false
default: '20'
runs:
using: composite
steps:
- run: echo Using ${{ inputs.node-version }}
shell: bashDefinere utdata
En sammensatt action kan returnere utdata. Et trinn skriver til GITHUB_OUTPUT, og actionen tilordner dette til en navngitt utdata.
outputs:
build-id:
value: ${{ steps.gen.outputs.id }}
runs:
using: composite
steps:
- id: gen
run: echo "id=$(date +%s)" >> $GITHUB_OUTPUT
shell: bashBruke en lokal action
De kan referere til en action som er lagret i samme repo, ved hjelp av en bane. Dette er nyttig under utvikling før publisering.
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-project
with:
node-version: '20'Versjonering med tagger
Publiserte actions refereres til med en git-ref. Beste praksis er å tagge utgivelser som v1.0.0 og samtidig vedlikeholde en bevegelig v1-tagg.
Klienter som bruker @v1, får automatisk oppdateringer som ikke innebærer brudd.
git tag -a v1.0.0 -m 'release'
git tag -f v1
git push --tags --forceForberede Marketplace
For å publisere i GitHub Marketplace må actionen ligge i et offentlig repo med en action.yml som inneholder name, description og helst branding (ikon og farge).
branding:
icon: package
color: bluePublisere utgivelsen
Opprett et utkast til en utgivelse for taggen på repoets Releases-side. GitHub viser en avmerkingsboks med teksten Publish this Action to the Marketplace.
Godta avtalen, velg kategorier og publiser. Actionen blir søkbar for alle.
Dokumentere bruk
En god action leveres med en tydelig README som viser et brukseksempel samt inndataene og utdataene.
Virksomheter som vurderer actionen, baserer seg i stor grad på denne dokumentasjonen. Sørg derfor for at den er nøyaktig og fullstendig.
Rask kontroll
Test forståelsen Deres av sammensatte actions.
Oppsummering
De har lært å bygge og publisere sammensatte actions.
- Sammensatte actions samler trinn ved hjelp av
runs.using: composite - Alle kjøretrinn trenger et eksplisitt
shell - Eksponer inndata og utdata for gjenbruk
- Tagg med semantiske versjoner og en bevegelig hovedtagg, og publiser deretter i Marketplace
Gjenbrukbare actions er måten team skalerer delt CI/CD-logikk på.
Lær deg DevOps-bootcamp med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 142
- Leksjoner
- 568
Ofte stilte spørsmål
Er leksjonen «Composite actions og publisering på Marketplace» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Composite actions og publisering på Marketplace», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.
Hva lærer jeg i «Composite actions og publisering på Marketplace»?
Bygg composite actions som samler flere trinn, versjoner dem riktig og publiser den egendefinerte actionen Deres på GitHub Marketplace for gjenbruk. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med DevOps-bootcamp?
Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Composite actions og publisering på Marketplace»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?
Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Utvikle egendefinerte GitHub Actions
- Selvhostede kjørere lokalt
- Integrasjon med bedriftssystemer
- Composite actions og publisering på Marketplace