Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Know-how
Nástroje O nás Spolupráce Kariéra
Pojďme to probrat

GitHub Actions — Pokročilé Workflow

27. 02. 2023 1 min čtení intermediate

DevOps Pokročilý

GitHub Actions — Pokročilé Workflow

GitHub ActionsCI/CDAutomatizace 6 min čtení

Pokročilé techniky GitHub Actions: matrix builds, reusable workflows, composite actions a self-hosted runners.

Matrix Builds

Matrix strategie umožňuje paralelní běh testů napříč verzemi a platformami.

jobs:
  test:
    strategy:
      matrix:
        node: [18, 20, 22]
        os: [ubuntu-latest, macos-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node }}
      - run: npm ci && npm test

Reusable Workflows

Sdílení workflow napříč repozitáři eliminuje duplicitu. Definujte workflow v centrálním repu a volte ho přes workflow_call.

on:
  workflow_call:
    inputs:
      environment:
        required: true
        type: string
    secrets:
      DEPLOY_KEY:
        required: true

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: ${{ inputs.environment }}
    steps:
      - uses: actions/checkout@v4
      - run: ./deploy.sh
        env:
          KEY: ${{ secrets.DEPLOY_KEY }}

Composite Actions

Composite actions kombinují více kroků do jedné znovupoužitelné akce s vlastními vstupy a výstupy.

name: Build and Push
inputs:
  image:
    required: true
runs:
  using: composite
  steps:
    - run: docker build -t ${{ inputs.image }} .
      shell: bash
    - run: docker push ${{ inputs.image }}
      shell: bash

Self-hosted Runners

Pro specifické HW požadavky nebo privátní sítě nasaďte vlastní runner. Použijte actions-runner-controller pro Kubernetes-native scaling.

apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: k8s-runners
spec:
  replicas: 3
  template:
    spec:
      repository: org/repo
      labels:
        - self-hosted
        - linux

Shrnutí

GitHub Actions je extrémně flexibilní CI/CD platforma. Matrix builds, reusable workflows a composite actions dramaticky snižují duplicitu a zrychlují feedback loop.

Potřebujete pomoct s implementací?

Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.

Nezávazná konzultace

Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.