Zápis vydání a nasazení z GitHub Actions

Zapisujte vydání a nasazení do AboutTheApp z GitHub Actions. Akce uloží každou verzi s poznámkami k vydání a informaci, kde běží.

Co akce zapisuje

Akce vždy zaregistruje verzi produktu s jejím changelogem. Pokud předáte i customer-alias a environment, zapíše také instalaci této verze u zákazníka. Dashboard a About page zákazníka pak ukazují, jaká verze běží na kterém prostředí.

Opakovaná registrace stejné verze jen aktualizuje její changelog. Instalace se ukládají jako historie, takže každý běh s customer-alias a environment přidá nový záznam, i při opakovaném spuštění workflow.

Nastavení GitHub Action ve 3 krocích

Akce je zveřejněná v GitHub Marketplace jako abouttheapp/sync. Zdrojový kód a popis všech vstupů najdete v repozitáři abouttheapp/sync.

  1. 1

    Vytvořte token pro CI/CD

    V dashboardu AboutTheApp otevřete uživatelské menu, zvolte Účet a v sekci CI/CD vygenerujte klíč. Může to udělat jen vlastník účtu a klíč se zobrazí jen jednou.

  2. 2

    Uložte ho jako secret

    Uložte klíč do repozitáře jako secret ABOUTTHEAPP_TOKEN pro Actions. Jeden klíč platí pro všechny produkty v účtu a vygenerováním nového přestane starý fungovat.

  3. 3

    Přidejte krok za nasazení

    Vložte abouttheapp/sync@v1 za kroky, které aplikaci nasazují, aby se zapisovala jen úspěšná nasazení. Produkt a zákazník už musí v AboutTheApp existovat a zákazník musí mít alias.

.github/workflows/release.yml
name: Release

on:
  push:
    tags: ["v*"]

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
        with:
          fetch-depth: 0

      - name: Resolve release metadata
        id: release
        run: |
          echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
          echo "previous-tag=$(git describe --tags --match 'v*' --abbrev=0 HEAD^ 2>/dev/null || true)" >> "$GITHUB_OUTPUT"

      # ... kroky pro sestavení a nasazení ...

      - name: Report release to AboutTheApp
        uses: abouttheapp/sync@v1
        with:
          token: ${{ secrets.ABOUTTHEAPP_TOKEN }}
          alias: my-app
          version: ${{ steps.release.outputs.version }}
          changelog-source: git-log
          changelog-since: ${{ steps.release.outputs.previous-tag }}
          version-visibility: public
          customer-alias: acme
          environment: production

Poznámky k vydání z Gitu, souboru nebo textu

Pokud nastavíte changelog-source: git-log, sestaví se poznámky z commitů od tagu uvedeného v changelog-since. Checkout pak potřebuje fetch-depth: 0. Pokud nastavíte changelog-source: file, akce použije sekci souboru ve formátu Keep a Changelog, jejíž nadpis odpovídá verzi, například ## [1.2.3]. Text můžete předat i přímo ve vstupu changelog.

Nové verze jsou ve výchozím stavu neveřejné. Pokud je chcete zobrazit na veřejné About page, přidejte version-visibility: public. Pokud si nejste jistí, co do poznámek psát, použijte šablonu poznámek k vydání.

Zápis jen skutečně běžících nasazení

Pokud nastavíte verify-url, akce nejdřív počká, až nasazená aplikace vrátí novou verzi, například v souboru version.json. Pokud aplikace do vypršení verify-timeout (ve výchozím stavu 300 sekund) vrací jinou verzi, krok selže a nic se nezapíše.

Adresa musí odpovídat bez přihlášení. Odpovědí může být JSON jako {"version": "1.2.3"} nebo text, jehož první řádek je verze. Pokud vaše aplikace verzi zatím nezveřejňuje, přečtěte si článek Zobrazení verze aplikace.

.github/workflows/release.yml
      - name: Report release to AboutTheApp
        uses: abouttheapp/sync@v1
        with:
          token: ${{ secrets.ABOUTTHEAPP_TOKEN }}
          alias: my-app
          version: 1.2.3
          customer-alias: acme
          environment: production
          verify-url: https://app.example.com/version.json

Časté otázky

Vytvoří akce produkt nebo zákazníka?

Nevytvoří. Obojí musí v AboutTheApp existovat a zákazník musí mít alias. Chybějící produkt nebo zákazník způsobí selhání kroku s chybou HTTP 404.

Potřebuje akce GitHub Release?

Nepotřebuje. Akce běží v libovolném workflow, například po vytvoření tagu v Gitu. Potřebuje jen řetězec verze, který workflow může vzít z tagu, z package.json nebo z čísla sestavení.

Můžu zapisovat vydání i z jiných CI systémů?

Ano. Akce volá CI/CD API AboutTheApp, které můžete se stejným klíčem volat přes curl i z GitLab CI, Azure Pipelines nebo jiného systému. Sekce CI/CD v dashboardu ukazuje připravené příkazy curl.

Je akce dostupná i v tarifu Free?

Ano. Akce je open source a CI/CD API je dostupné ve všech tarifech včetně Free.

AboutTheApp

Chcete historii vydání bez ručních úprav?

Založte si zdarma produkt v AboutTheApp, vygenerujte klíč pro CI/CD a přidejte akci do svého workflow.