Intensiv DevOps-uddannelse · Lektion

Brugerdefinerede Actions og Marketplace

Udforsk GitHub Actions Marketplace for færdigbyggede Actions, og lær at oprette Deres egne brugerdefinerede Actions.

Lektion 3 af 411 trin

Brugerdefinerede Actions og Marketplace er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Udforsk GitHub Actions Marketplace

Velkommen til GitHub Actions Marketplace! Det er et levende samlingssted, hvor du kan finde tusindvis af forudbyggede handlinger, der er oprettet af GitHub, bidragydere til open source-projekter og kommercielle partnere.

Disse handlinger kan nemt integreres i dine arbejdsgange, så du sparer tid og kræfter ved at genbruge eksisterende løsninger til almindelige opgaver.

Find den rigtige handling

Det er enkelt at navigere på Marketplace. Du kan søge efter handlinger ved hjælp af nøgleord, filtrere efter kategori, f.eks. "CI/CD" eller "Implementering", og sortere efter popularitet.

  • Se efter handlinger med mange stjerner og aktiv vedligeholdelse.
  • Læs handlingens dokumentation for instruktioner om brug samt input og output.
  • Se, hvor mange gange en handling er blevet brugt i offentlige lagre, som en form for social dokumentation.

Integrer en færdig handling

Det er enkelt at bruge en Marketplace-handling. Du henviser til den ved hjælp af nøgleordet uses i din YAML-arbejdsgang efterfulgt af handlingens ejer/lager@version.

Et almindeligt eksempel er actions/checkout, som henter koden fra dit lager, så din arbejdsgang kan få adgang til den.

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 og output for handlinger

Mange handlinger accepterer input for at tilpasse deres adfærd, angivet ved hjælp af nøgleordet with. De kan også producere output, som andre trin i din arbejdsgang kan bruge.

Handlingen actions/setup-node kan f.eks. modtage inputtet 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

Hvornår du bør bygge din egen handling

Marketplace tilbyder meget, men nogle gange har du brug for noget specifikt. Det er her, tilpassede handlinger er nyttige!

Du kan bygge en tilpasset handling til:

  • Automatisering af interne virksomhedsværktøjer.
  • Integration med en særlig API, som ikke understøttes af eksisterende handlinger.
  • Udførelse af højt specialiserede opgaver, der er specifikke for dit projekts byggeproces.

Typer af tilpassede handlinger

Der findes to hovedtyper af tilpassede handlinger, du kan oprette:

  • JavaScript-handlinger: De kører direkte på runner-maskinen ved hjælp af Node.js. De er ofte hurtigere at udvikle og nemmere at dele.
  • Docker-containerhandlinger: De kører i en Docker-container. De er velegnede til at indkapsle miljøer og afhængigheder, så udførelsen bliver ensartet på tværs af forskellige runners.

Vi fokuserer på JavaScript-handlinger for enkelhedens skyld.

Filen `action.yml`

Alle tilpassede handlinger kræver en action.yml-fil. Denne fil definerer handlingens metadata, herunder dens navn, beskrivelse, de input den accepterer, det output den producerer, og hvordan den kører.

Den fungerer som manifestet for din handling og fortæller GitHub Actions alt, hvad den skal vide.

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'

Byg en enkel JavaScript-handling

Lad os oprette en helt grundlæggende JavaScript-handling. Du skal bruge en index.js-fil, der er angivet i action.yml, og normalt også en package.json til afhængigheder.

Pakken @actions/core er vigtig for at interagere med arbejdsgangen, f.eks. for at hente input og angive 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();

Integrer din tilpassede handling

For at bruge din tilpassede handling skal du placere dens filer (action.yml, index.js osv.) i en undermappe i dit lager. Henvis derefter til den i din arbejdsgang ved hjælp af en relativ sti med uses: ./path/to/your/action.

Det giver dig mulighed for at teste din handling lokalt, før du eventuelt udgiver den på 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 }}"

Komponenter i tilpassede handlinger

Du har lært om de vigtigste elementer i oprettelsen og brugen af tilpassede GitHub Actions. Lad os teste din forståelse!

Opsummering: Marketplace og tilpassede handlinger

Flot klaret! Du har udforsket mulighederne i både GitHub Actions Marketplace og tilpassede handlinger.

  • Marketplace tilbyder et stort udvalg af klar-til-brug-handlinger, der effektiviserer dine arbejdsgange.
  • Tilpassede handlinger giver dig mulighed for at udvide GitHub Actions, så de opfylder særlige behov i projekter eller organisationer.

Ved at kombinere disse kan du bygge utroligt effektive og målrettede automatiseringsforløb!

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Brugerdefinerede Actions og Marketplace” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Brugerdefinerede Actions og Marketplace”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Brugerdefinerede Actions og Marketplace”?

Udforsk GitHub Actions Marketplace for færdigbyggede Actions, og lær at oprette Deres egne brugerdefinerede Actions. Du øver dig i Intensiv DevOps-uddannelse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Brugerdefinerede Actions og Marketplace”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Introduktion til GitHub Actions
  2. Opbygning af CI/CD-workflows
  3. Brugerdefinerede Actions og Marketplace
  4. Secrets og miljøvariabler i Actions
← Tilbage til Intensiv DevOps-uddannelse