Vytvoření vlastní akce GitHubu

Dokončeno

GitHub Actions je výkonná funkce, která vám pomůže přejít z kódu do cloudu– od pohodlí a pohodlí vašeho vlastního úložiště. Tady se dozvíte o různých typech akcí GitHubu a o metadatech, syntaxi a příkazech pracovního postupu pro vytvoření vlastních akcí GitHubu.

Typy akcí GitHubu

Diagram tří typů GitHub Actions: akce Dockeru, JavaScriptu a složených běhových kroků.

Akce jsou jednotlivé úkoly, které můžete použít k přizpůsobení vývojových pracovních postupů. Vlastní akce můžete vytvořit tak, že napíšete vlastní kód, který komunikuje s vaším úložištěm pro provádění vlastních úloh, nebo pomocí akcí sdílených složek komunity GitHubu. Při procházení různých akcí si všimnete, že existují tři různé typy akcí: akce kontejneru Dockeru, akce JavaScriptu a akce složených kroků spuštění. Pojďme se podrobněji podívat na jednotlivé typy akcí.

Akce kontejneru Dockeru

Kontejnery Dockeru zabalí prostředí pomocí kódu GitHub Actions. To znamená, že akce běží v konzistentním a spolehlivém prostředí, protože všechny jeho závislosti jsou v daném kontejneru. Pokud se akce musí spouštět v konkrétní konfiguraci prostředí, kontejnery Dockeru jsou dobrým způsobem, jak přejít, protože můžete přizpůsobit operační systém a nástroje. Nevýhodou je, že protože úloha musí sestavit a načíst kontejner, akce kontejneru Dockeru jsou často pomalejší než akce JavaScriptu.

Před vytvořením akce kontejneru Dockeru byste měli mít základní znalosti o tom, jak používat proměnné prostředí a systém souborů kontejneru Dockeru. Kroky k sestavení akce kontejneru Dockeru jsou pak minimální a jednoduché:

  1. Vytvořte příkazy Dockerfile pro definování příkazů pro sestavení image Dockeru.
  2. Vytvořte action.yml soubor metadat, který definuje vstupy a výstupy akce. runs: using: Nastavte hodnotu na docker hodnotu a runs: image: hodnotu v Dockerfile souboru.
  3. Vytvořte entrypoint.sh soubor pro popis image Dockeru.
  4. Potvrďte a odešlete akci na GitHub s následujícími soubory: action.yml, entrypoint.sh, Dockerfilea README.md.

Akce JavaScriptu

Akce JavaScriptu se můžou spouštět přímo na počítači spouštěče a oddělit kód akce od prostředí, které se používá ke spuštění akce. Z tohoto důvodu je kód akce zjednodušený a může provádět rychleji než akce v kontejneru Dockeru.

Jako předpoklad pro vytváření a používání zabalených akcí JavaScriptu je potřeba stáhnout Node.js, která zahrnuje npm. Jako volitelný krok (ale doporučujeme) je použít sadu nástrojů GitHub Actions Node.js, což je kolekce balíčků Node.js, které umožňují rychle vytvářet akce JavaScriptu s větší konzistencí.

Postup sestavení akce JavaScriptu je minimální a jednoduchý:

  1. Vytvořte soubor metadat, který action.yml definuje vstupy a výstupy akce, a také informovat spouštěče akcí, jak spustit tuto akci JavaScriptu.
  2. Vytvořte soubor s kontextovými index.js informacemi o balíčcích Toolkit, směrování a dalších funkcích akce.
  3. Potvrďte a odešlete akci na GitHub s následujícími soubory: action.yml, index.js, node_modulespackage.json, package-lock.jsona README.md.

Akce složených kroků spuštění

Akce složených kroků spuštění umožňují opakovaně používat akce pomocí skriptů prostředí. V rámci stejné akce můžete dokonce kombinovat více jazyků prostředí. Pokud máte mnoho skriptů prostředí pro automatizaci několika úloh, můžete je teď snadno převést na akci a znovu je použít pro různé pracovní postupy. Někdy je jednodušší jednoduše napsat skript prostředí než pomocí JavaScriptu nebo zabalit kód do kontejneru Dockeru.

Balíček složených akcí

Zabalené složené akce sbalí několik kroků do opakovaně použitelné jednotky. Tyto akce jsou definovány v úložišti a lze na tyto akce odkazovat v pracovních postupech v různých úložištích. Zabalení složené akce zjednodušuje pracovní postupy, snižuje duplikaci a zlepšuje udržovatelnost.

Při vytváření zabalené složené akce se kroky definují v jednom action.yml souboru. Tento soubor určuje vstupy, výstupy a posloupnost příkazů nebo akcí, které se mají provést. Balíčkové složené akce jsou zvláště užitečné pro automatizaci opakovaných úloh nebo kombinování více příkazů shellu do jedné opakovaně použitelné operace.

Vytvoření složeného příkazu qction

1. Nastavení adresáře pro složenou akci

Složenou akci musíte umístit do vlastního adresáře v úložišti.

Příklad adresářové struktury:

.github/actions/my-composite-action/
├── action.yml
└── scripts/
    └── my-script.sh

2. Definování action.yml souboru

V adresáři my-composite-action vytvořte action.yml soubor.

name: "My Composite Action"
description: "A reusable composite action that checks out code and sets up Node.js"

inputs:
  node-version:
    description: "The Node.js version to use"
    required: true

runs:
  using: "composite"
  steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    - name: Set up Node.js
      uses: actions/setup-node@v4
      with:
        node-version: ${{ inputs.node-version }}

Poznámka: Pole using: "composite" označuje, že tato akce je složená akce.

3. Použijte složenou akci v pracovním postupu

Po vytvoření složené akce se na ni dá odkazovat v pracovním postupu GitHub Actions.

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Use my composite action
        uses: ./.github/actions/my-composite-action
        with:
          node-version: '18'

Pokud je složená akce sdílená z jiného úložiště, odkažte se na to takto:

uses: owner/repository/.github/actions/my-composite-action@v1

Snímek obrazovky s složenou akcí použitou v pracovním postupu

Přidání výstupů do složené akce

Složené akce mohou definovat výstupy, které můžou pracovní postupy použít k předávání dat mezi kroky nebo úlohami. Výstupy jsou užitečné zejména pro sdílení výsledků nebo vypočítaných hodnot z jedné akce do druhé.

Následující příklad ukazuje, jak definovat a používat výstup ve složené akci:

Definování výstupu v action.yml

Soubor action.yml určuje výstup s názvem script-result. Tento výstup načte jeho hodnotu z result výstupu run-script kroku. Tento run-script krok spustí příkaz Bash, který nastaví výstupní hodnotu.

outputs:
  script-result:
    description: "Result from the script"
    value: ${{ steps.run-script.outputs.result }}

runs:
  using: "composite"
  steps:
    - id: run-script
      run: echo "result=Success" >> $GITHUB_OUTPUT
      shell: bash

Snímek obrazovky s definováním výstupu ve složené akci

Použití výstupu v pracovním postupu

Po vytvoření složené akce se k jeho výstupu dostanete v pracovním postupu. Tady je příklad:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Run composite action
        id: my-action
        uses: ./.github/actions/my-composite-action

      - name: Display result
        run: echo "Script Result: ${{ steps.my-action.outputs.script-result }}"

V tomto příkladu:

  • Složená akce se vyvolá pomocí klíčového uses slova.
  • Přístup k výstupu script-result pomocí syntaxe steps.<step-id>.outputs.<output-name>.
  • Zobrazí výsledek v protokolech pracovního postupu.

Definujte výstupy ve složených akcích pro vytváření opakovaně použitelných a modulárních pracovních postupů. Tento přístup zjednodušuje sdílení dat a zlepšuje udržovatelnost.

Osvědčené postupy pro složené akce

Osvědčený postup Popis
Použijte verzování v1 K odkazování na stabilní verzi 1 použijte značku.
Zachování modulárních akcí Seskupte související kroky uvnitř složené akce.
Vstupy a výstupy dokumentu Přidejte popisy vstupů a výstupů v souboru action.yml.
Testování před publikováním Ověřte složenou akci v testovacím úložišti.

Složená akce v pracovním postupu

Složené akce představují účinný způsob, jak zjednodušit pracovní postupy tím, že se více kroků spojí do opakovaně použitelné jednotky. Tyto akce umožňují definovat posloupnost příkazů nebo akcí v jednom action.yml souboru, což usnadňuje údržbu a opakované použití logiky napříč pracovními postupy.

Výhody složených akcí:

  • Opětovná použitelnost – Definujte akce jednou a použijte je v několika pracovních postupech.
  • Udržovatelnost – Omezení duplicit centralizací logiky v jediné akci
  • Modularita – Spojení více příkazů shellu nebo jiných akcí do jednoho celku.

Vývoj akce pro nastavení rozhraní příkazového řádku ve spouštěčích GitHub Actions

Mnoho pracovních postupů CI/CD vyžaduje pro interakci s cloudovými službami, správu infrastruktury nebo spouštění skriptů konkrétní verzi nástroje rozhraní příkazového řádku . I když jsou spouštěče hostované na GitHubu předinstalované s mnoha nástroji, nemusí obsahovat přesnou verzi, kterou pracovní postup potřebuje, zejména pokud se jedná o starší nebo nepodporovanou verzi. Místo instalace požadované verze rozhraní příkazového řádku v každém pracovním postupu můžete vytvořit opakovaně použitelnou akci GitHubu , která:

  • Zajišťuje konzistentní instalaci požadované verze rozhraní příkazového řádku napříč úlohami.
  • Zjednodušuje pracovní postupy centralizací logiky instalace.
  • Optimalizuje ukládání do mezipaměti pro rychlejší provádění pracovních postupů.

Jak vytvořit akci pro nastavení rozhraní příkazového řádku (CLI)

Akce nastavení rozhraní příkazového řádku je akce založená na JavaScriptu, která nainstaluje a nakonfiguruje rozhraní příkazového řádku ve spouštěči GitHubu.

Postup vytvoření akce:

Krok 1: Nastavení adresáře akcí

Pokud chcete ručně vytvořit adresář pro akci nastavení rozhraní příkazového řádku, postupujte takto:

  1. Přejděte k vašemu úložišti.

Snímek obrazovky struktury kořenového úložiště zobrazující akci JavaScriptu

  1. Vytvoření nového adresáře pro akci
    Vytvořte nový adresář s názvem my-cli-action uvnitř .github/actions složky. Tím zajistíte, že vaše akce bude uspořádaná a bude následovat doporučenou strukturu GitHubu pro vlastní akce.

  2. Přejděte do nového adresáře.
    Přejděte do nově vytvořeného adresáře a začněte přidávat soubory pro vaši akci:

  3. Ověření struktury adresáře
    Po vytvoření adresáře by struktura úložiště měla vypadat takto:

your-repository/
├── .github/
│   ├── actions/
│   │   ├── my-cli-action/

Snímek obrazovky se strukturou adresáře pro akci JavaScriptu uvnitř souboru .github/actions

Teď jste připraveni pokračovat v vytváření action.yml souboru a dalších potřebných souborů pro akci nastavení rozhraní příkazového řádku.

Krok 2: Definování souboru metadat action.yml

Vytvořte soubor action.yml pro popis akce.

name: "Setup MyCLI"
description: "Installs MyCLI and adds it to the PATH"
author: "Your Name"

inputs:
  version:
    description: "The CLI version to install"
    required: false
    default: "latest"

runs:
  using: "node16"
  main: "index.js"

Proč používat : node16? Tato akce spustí javascriptový kód pomocí Node.js 16.

Snímek obrazovky se souborem metadat YAML pro javascriptovou akci GitHubu

Krok 3: Vytvoření javascriptového skriptu pro instalaci rozhraní příkazového řádku

Ve stejném adresáři vytvořte soubor s názvem index.js a přidejte následující kód:

const core = require('@actions/core');
const { execSync } = require('child_process');

async function run() {
  try {
    const version = core.getInput('version') || 'latest';
    
    console.log(`Installing MyCLI version: ${version}...`);

    execSync(`curl -fsSL https://cli.example.com/install.sh | sh`, { stdio: 'inherit' });

    console.log("MyCLI installed successfully.");
  } catch (error) {
    core.setFailed(`Installation failed: ${error.message}`);
  }
}

run();

Výše uvedený kód JavaScriptu používá core.getInput() k načtení verze rozhraní příkazového řádku zadané jako vstup. Potom spustí příkaz curl ke stažení a instalaci rozhraní příkazového řádku. Pokud proces instalace selže, akce pomocí core.setFailed() označí pracovní postup jako neúspěšný.

Snímek obrazovky s kódem JavaScriptu pro index.js v akci GitHubu

Krok 4: Místní testování akce

Před použitím akce v pracovním postupu ji otestujte na spouštěči hostovaného na GitHubu.
Ve svém úložišti vytvořte soubor pracovního postupu (.github/workflows/test.yml):

name: Test MyCLI Setup

on:
  push:
    branches:
      - main
      - feature/*

1. Aktivace pracovního postupu
Pracovní postup se aktivuje při provedení změn do hlavní větve a na všechny větve, které odpovídají vzoru feature/*. Můžete to upravit tak, aby odpovídalo strategii větvení úložiště.

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

2. Klonování úložiště
Akce /checkout@v4 akce slouží ke klonování úložiště do spouštěče. Tím se zajistí, že pracovní postup má přístup k souborům úložiště.

      - name: Install MyCLI
        uses: ./.github/actions/my-cli-action
        with:
          version: '1.2.3'

3. Spuštění vlastní akce
Použití: ./.github/actions/my-cli-action line odkazuje na vlastní akci místně. Ujistěte se, že je správně nastavený adresář akcí a action.yml soubor. Vstup verze určuje verzi rozhraní příkazového řádku, která se má nainstalovat – v tomto případě verze 1.2.3.

      - name: Verify CLI Installation
        run: |
          echo "Checking MyCLI version..."
          mycli --version

4. Ověření instalace rozhraní příkazového řádku
Tento krok spustí příkaz shellu pro ověření úspěšné instalace CLI. Zkontroluje verzi nainstalovaného rozhraní příkazového řádku spuštěním souboru mycli --version.

Snímek obrazovky s výsledky testu akce GitHubu v JavaScriptu

Místní testování

Pro otestování tohoto pracovního postupu místně použijte CLI nástroj act.

act -j test

To simuluje prostředí GitHub Actions na místním počítači, což vám umožní ladit a ověřit pracovní postup před nasdílením změn.

Tip pro optimalizaci: Ukládání do mezipaměti

Pro zlepšení výkonu pracovního postupu zakešujte instalační adresář rozhraní příkazové řádky (CLI) pomocí akce:

      - name: Cache MyCLI
        uses: actions/cache@v4
        with:
          path: ~/.mycli
          key: mycli-${{ runner.os }}-${{ inputs.version }}

Tím se zajistí, že následná spuštění znovu použijí instalaci rozhraní příkazového řádku uloženého v mezipaměti, což zkracuje dobu instalace.

Osvědčené postupy pro akce nastavení rozhraní příkazového řádku

Osvědčené postupy Popis
Použijte verzování Povolit uživatelům zadat verzi rozhraní příkazového řádku prostřednictvím inputs.version.
Správné zpracování chyb Použijte core.setFailed() pro ukončení v případě chyb.
Instalace CLI cache Optimalizace výkonu pracovního postupu pomocí actions/cache.
Poskytnutí dokumentace Vysvětlit použití a vstupy v README.md.

Řešení potíží s akcemi JavaScriptu

Při práci s GitHub Actions založenými na JavaScriptu můžete během provádění pracovního postupu narazit na neočekávané chování, chyby nebo selhání. Tato lekce poskytuje techniky a nástroje, které vám pomůžou identifikovat a vyřešit problémy v akcích JavaScriptu.

Běžné scénáře řešení potíží

Problém Možná příčina Navrhovaná oprava
Akce selže s trasování zásobníku Chyba syntaxe nebo modulu runtime v index.js Použití console.log() a kontrola protokolů
Vstupy jsou undefined Nesprávný název vstupu nebo chybějící vstup Ověřte action.yml a jak jsou vstupy předány
Proměnné prostředí nejsou nastaveny. core.exportVariable nebo process.env se nepoužíval správně Zkontrolujte kód nastavující proměnné
Soubor nebyl nalezen. Chybějící relativní cesty Použijte __dirname nebo úplné cesty k souborům
Mezipaměť není obnovena Nesprávné key nebo path hodnoty Kontrola konfigurace a klíčů mezipaměti

Použití protokolování pro ladění

Protokolování zpráv pomocí core.info, core.debuga console.log

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

core.info("This is an info message");
core.debug("This is a debug message");
console.log("This is a raw console log");

✅ Pro protokoly ladění používejte core.debug – zobrazí se jenom v případě, že je ACTIONS_STEP_DEBUG nastavená na hodnotu true.

Povolte protokolování ladění

Protokoly ladění na úrovni kroku můžete povolit nastavením následujícího tajného klíče:

ACTIONS_STEP_DEBUG=true

Pokud chcete povolit diagnostické protokoly spouštěče, nastavte:

ACTIONS_RUNNER_DEBUG=true

Nastavení tajných kódů pro ladění

  1. Přejděte do úložiště GitHub.
  2. Přejděte na Nastavení>Tajemství a proměnné>Akce.
  3. Přidejte nové tajné kódy s následujícími názvy a hodnotami:
    • ACTIONS_STEP_DEBUG: true
    • ACTIONS_RUNNER_DEBUG: true

Kontrola protokolů pracovního postupu

Pokud pracovní postup selže, klikněte na neúspěšnou úlohu na kartě Akce. Rozbalte jednotlivé kroky na:

  • Zobrazení podrobných protokolů
  • Kontrola standardního výstupu (stdout)
  • Zobrazení ukončovacího kódu skriptů
  • Identifikace neošetřených výjimek

🔍 Příklad výstupu protokolu

Error: Cannot find module '@actions/core'
Require stack:
- /home/runner/work/_actions/my-org/my-action/index.js

✅ Oprava: Spusťte příkaz npm install @actions/core a proveďte commit node_modules (nebo použijte ncc pro zabalení akce).

Otestujte svou akci místně

Použijte act – nástroj rozhraní příkazového řádku ke spuštění GitHub Actions místně. Příklad:

act -j test

🛠 Při místním testování nezapomeňte správně simulovat prostředí GitHubu.

Zpracovávání chyb s lehkostí

Zachycení výjimek a selhání pomocí užitečných zpráv:

try {
  // your logic
} catch (error) {
  core.setFailed(`Action failed with error: ${error.message}`);
}

🔁 Tím se zajistí, že GitHub zastaví pracovní postup při chybě a poskytne čitelné protokoly.

Osvědčené postupy pro ladění akcí JavaScriptu

Cvičení Popis
Použijte core.debug() Pokud není povolené ladění, skryjte podrobné protokoly.
Ověřte action.yml Ujistěte se, že jsou správně definované vstupy a výstupy.
Kód sady Slouží @vercel/ncc ke kompilaci JavaScriptu do jednoho souboru. Tím se snižují závislosti a zajišťují, že jsou zahrnuty všechny požadované moduly, což brání chybám za běhu způsobeným chybějícími soubory.
Testování pomocí akce Simulujte spuštění místně pro rychlejší iterace.
Použití příkazu try/catch Zabránit tomu, aby pracovní postupy selhaly nepozorovaně.

Řešení potíží s akcemi kontejneru Dockeru

Akce kontejneru Dockeru jsou výkonné pro zapouzdření složitých nástrojů a prostředí v pracovních postupech GitHub Actions. Ladění těchto akcí ale může být náročnější než akce JavaScriptu kvůli prostředí izolovaného modulu runtime. Tato lekce vás provede identifikací, diagnostikou a řešením problémů s akcemi založenými na Dockeru.

Běžné problémy s akcemi kontejneru Dockeru

Problém Příčina Navrhovaná oprava
Akce se nepovede spustit ENTRYPOINT nebo CMD chybně nakonfigurované Potvrzení správného použití ENTRYPOINT souboru Dockerfile
Chybějící závislosti Závislosti nenainstalované nebo chybně nakonfigurované Ujistěte se, že jsou v obrazu nainstalované všechny balíčky.
Vstupy nepřišly INPUT_ Proměnné prostředí nejsou přístupné Použijte process.env.INPUT_<INPUT_NAME> (nebo ekvivalent pro shell)
Soubor nebyl nalezen. Nesprávná cesta k souboru uvnitř kontejneru Použijte absolutní cesty nebo ověřte strukturu adresáře
Oprávnění byla odepřena. Soubor nebo skript nemají oprávnění ke spuštění Přidání RUN chmod +x <script> do souboru Dockerfile
Selhání související se sítí Externí služby nejsou přístupné Ověřte nastavení sítě a logiku opakování pokusů

Vysvětlení životního cyklu akcí Dockeru

Než začnete řešit potíže, je užitečné pochopit, jak se akce kontejneru Dockeru spouštějí.

1. Aktivační událost pracovního postupu

Pracovní postup GitHub Actions se spustí v reakci na nakonfigurovanou událost , například push, pull_requestnebo ruční workflow_dispatch.

2. Nastavení běžce

GitHub zřídí nový virtuální počítač ( spouštěč) pro spuštění pracovního postupu. Běžec připraví prostředí stažením definic akcí a řešením závislostí.

3. Řešení akcí

Pokud akce určuje runs.using: docker v souboru action.yml , GitHub ji rozpozná jako akci založenou na Dockeru.

4. Sestavení nebo stažení obrazu

GitHub sestaví image Dockeru definovanou v akci Dockerfile nebo v případě zadání načítá předem připravenou image. Tento obrázek definuje prostředí, ve kterém se spouští kód akce.

5. Spuštění kontejneru

Spouštěč spustí kontejner Dockeru, připojí pracovní prostor a vloží proměnné prostředí, včetně tajných údajů a vstupů definovaných v pracovním toku.

6. Spuštění vstupního bodu

GitHub spustí entrypoint příkaz ze souboru Dockerfile uvnitř kontejneru. To je místo, kde se spouští logika vlastních akcí, obvykle skript nebo aplikace.

7. Zpracování výsledků

Všechny výstupy nastavené akcí kontejneru jsou zachyceny runnerem a poté předány do následujících kroků pracovního postupu. Po dokončení se kontejner vypne a spouštěč se zahodí.

Poznámka: Akce kontejneru Dockeru se spouštějí v čistém izolovaném prostředí. Stav systému souborů, nainstalované nástroje a proměnné prostředí musí být definovány v souboru Dockerfile.

Techniky ladění

1. Přidání protokolování

Ve skriptu vstupního bodu použijte příkazy echo, printf nebo logging:

echo "Starting Docker action..."
echo "Input VALUE: $INPUT_VALUE"

Protokolujte všechny kritické vstupy a kroky pro diagnostiku, kde k selhání dochází.

2. Místní sestavení a testování

Použití Dockeru na vašem počítači k simulaci chování kontejneru:

docker build -t my-action .
docker run -e INPUT_NAME=value my-action

Zajistěte, aby proměnné prostředí odpovídaly těm, které nastavuje GitHub.

3. Použijte nástroj act CLI pro simulaci pracovních postupů GitHubu

Nainstalujte akci pro místní spuštění pracovních postupů GitHubu:

act -j test-job

Skvělé pro testování akcí Dockeru v pracovních postupech bez vložení do GitHubu.

4. Ověření konfigurace souboru Dockerfile

Ujistěte se, že definujete ENTRYPOINT nebo CMD. Zkopírujte skripty do image a udělte jim oprávnění ke spuštění:

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

5. Kontrola protokolů GitHubu

Klikněte na neúspěšné spuštění pracovního postupu, rozbalte jednotlivé kroky a prozkoumejte:

  • Protokoly sestavení Dockeru
  • Standardní výstup a standardní chyba z kontejneru
  • Ukončovací kódy a zásobníkové trasování 🔍 často odhalí chybějící balíčky, problémy se syntaxí nebo chyby oprávnění.

Příklad: Chyba vstupního bodu

Error: container_linux.go:380: starting container process caused "exec: \"/entrypoint.sh\": permission denied"

✅ Oprava: Do souboru Dockerfile přidejte run chmod +x /entrypoint.sh.

Mapování proměnných prostředí

Vstup GitHubu Proměnná prostředí Dockeru
with: name: test INPUT_NAME=test
GITHUB_WORKSPACE Namapováno do /github/workspace
GITHUB_EVENT_NAME Událost, která aktivovala pracovní postup
echo "Input was $INPUT_NAME"
echo "Working dir: $GITHUB_WORKSPACE"

Použijte tajemství řešení potíží

Povolte další protokolování přidáním těchto tajných kódů do úložiště nebo organizace:

Tajný Popis
ACTIONS_STEP_DEBUG Povolí logování ladění.
ACTIONS_RUNNER_DEBUG Povolí diagnostiku běžce.

Osvědčené postupy pro ladění akcí Dockeru

Osvědčený postup Proč
Používejte protokolování hojně Pomáhá sledovat body selhání.
Vždy nastavit chmod +x Vyhněte se chybám oprávnění u skriptů prostředí
Ověření vstupů ve skriptu Zachytávání chybějících nebo poškozených vstupů v rané fázi
Minimalizace závislostí kontejnerů Menší obrázky se snadněji ladí
Místní testování pomocí spuštění nebo akce Dockeru Rychlejší iterace a okamžitá zpětná vazba