DevOps Bootcamp · Lekcja

Niestandardowe Actions i Marketplace

Poznaj GitHub Actions Marketplace, aby znaleźć gotowe Actions, i naucz się tworzyć własne niestandardowe Actions.

Lekcja 3 z 411 kroki

Niestandardowe Actions i Marketplace to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Odkrywanie GitHub Actions Marketplace

Witamy w GitHub Actions Marketplace! To tętniące życiem centrum, w którym znajdziesz tysiące gotowych akcji utworzonych przez GitHub, twórców open source i partnerów komercyjnych.

Akcje te można łatwo zintegrować z workflowami, oszczędzając czas i wysiłek dzięki ponownemu wykorzystaniu gotowych rozwiązań typowych problemów.

Wybór odpowiedniej akcji

Poruszanie się po Marketplace jest proste. Możesz wyszukiwać akcje za pomocą słów kluczowych, filtrować je według kategorii, takich jak „CI/CD” lub „Deployment”, oraz sortować według popularności.

  • Wybieraj akcje z wysoką oceną w postaci gwiazdek i aktywnie utrzymywane.
  • Sprawdzaj dokumentację akcji, aby poznać instrukcje użycia, dane wejściowe i wyjściowe.
  • Sprawdzaj, ile razy akcja była używana w publicznych repozytoriach — to dodatkowe potwierdzenie jej popularności.

Integracja gotowej akcji

Korzystanie z akcji z Marketplace jest proste. Odwołujesz się do niej za pomocą słowa kluczowego uses w pliku workflow YAML, a następnie podajesz owner/repo@version akcji.

Typowym przykładem jest actions/checkout, które pobiera kod repozytorium, aby workflow mógł uzyskać do niego dostęp.

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!"

Dane wejściowe i wyjściowe akcji

Wiele akcji przyjmuje inputs służące do dostosowania ich działania, określane za pomocą słowa kluczowego with. Mogą również generować outputs, z których korzystają inne kroki workflow.

Na przykład akcja actions/setup-node może przyjmować dane wejściowe 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

Kiedy utworzyć własną akcję

Marketplace oferuje wiele rozwiązań, ale czasami potrzebujesz czegoś konkretnego. Wtedy przydają się akcje niestandardowe!

Możesz utworzyć własną akcję do:

  • automatyzowania wewnętrznych narzędzi firmy;
  • integracji z unikatowym API, którego nie obsługują istniejące akcje;
  • wykonywania wysoce specjalistycznych zadań związanych z procesem budowania Twojego projektu.

Typy akcji niestandardowych

Możesz utworzyć dwa główne typy akcji niestandardowych:

  • Akcje JavaScript: działają bezpośrednio na maszynie runnera przy użyciu Node.js. Zwykle można je szybciej tworzyć i łatwiej udostępniać.
  • Akcje w kontenerze Docker: działają wewnątrz kontenera Docker. Świetnie nadają się do hermetyzowania środowisk i zależności, zapewniając spójne działanie na różnych runnerach.

Dla uproszczenia skupimy się na akcjach JavaScript.

Plik `action.yml`

Każda akcja niestandardowa potrzebuje pliku action.yml. Plik ten definiuje metadane akcji, w tym jej nazwę, opis, przyjmowane dane wejściowe, generowane dane wyjściowe oraz sposób działania.

To swego rodzaju manifest akcji, który przekazuje GitHub Actions wszystkie niezbędne informacje.

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'

Tworzenie prostej akcji JavaScript

Utwórzmy bardzo podstawową akcję JavaScript. Potrzebujesz pliku index.js (określonego w action.yml) oraz zazwyczaj pliku package.json zawierającego zależności.

Pakiet @actions/core jest niezbędny do interakcji z workflowem, na przykład pobierania danych wejściowych i ustawiania danych wyjściowych.

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();

Integracja własnej akcji

Aby użyć własnej akcji, umieść jej pliki (action.yml, index.js itd.) w podkatalogu repozytorium. Następnie odwołaj się do niej w workflow za pomocą ścieżki względnej: uses: ./path/to/your/action.

Pozwala to testować akcję lokalnie przed ewentualnym opublikowaniem jej w 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 }}"

Komponenty akcji niestandardowej

Poznałeś kluczowe elementy związane z tworzeniem i używaniem niestandardowych akcji GitHub Actions. Sprawdźmy, czy wszystko jest jasne!

Podsumowanie: Marketplace i akcje niestandardowe

Świetna praca! Poznałeś możliwości zarówno GitHub Actions Marketplace, jak i akcji niestandardowych.

  • Marketplace oferuje bogaty wybór gotowych akcji usprawniających workflowy.
  • Akcje niestandardowe pozwalają rozszerzać GitHub Actions zgodnie z unikatowymi potrzebami projektu lub organizacji.

Łącząc te rozwiązania, możesz tworzyć niezwykle zaawansowane i dopasowane potoki automatyzacji!

Bezpłatny start

Ucz się DevOps Bootcamp dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
142
Lekcje
568

Często zadawane pytania

Czy lekcja „Niestandardowe Actions i Marketplace” jest bezpłatna?

Tak — pełny tekst „Niestandardowe Actions i Marketplace” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Niestandardowe Actions i Marketplace”?

Poznaj GitHub Actions Marketplace, aby znaleźć gotowe Actions, i naucz się tworzyć własne niestandardowe Actions. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Niestandardowe Actions i Marketplace”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wprowadzenie do GitHub Actions
  2. Tworzenie przepływów CI/CD
  3. Niestandardowe Actions i Marketplace
  4. Sekrety i zmienne środowiskowe w Actions
← Powrót do DevOps Bootcamp