VERSION=2.311.0 curl -o actions-runner.tar.gz -L "https://github.com/actions/runner/releases/download/v${VERSION}/actions-runner-linux-x64-${VERSION}.tar.gz"
tar xzf ./actions-runner-linux.tar.gz && rm ./actions-runner-linux.tar.gz 
./config.sh --url https://github.com/VFCZ-Digital/cicd-automation --token XXXX --runnergroup '' --name runner-1 --unattended --labels aws --replace
sudo ./svc.sh install … instalace služby
sudo ./svc.sh start … spuštění služby
definuje se v .github/workflows, napr. build_workflow.yml
name: JMENO
run-name: nepovinne - delší popis
on: push
env:
  promenna1: hodnota1
  
jobs:
 unikátní_název_jobu:
   runs_on: windows-latest
   outputs:
     cislo: ${{ steps.vystup.outputs.promenna }}
   steps:
   - run: echo "ahoj, promenna1: ${{env.promenna1}}"
   - run: echo "promenna=3" >> $GITHUB_OUTPUT
   - run: |
        echo "### Test Summary" >> $GITHUB_STEP_SUMMARY
     id: vystup
   - name: failure
     id: aaa
     run: exit 1
   - name: If block
     if: ${{ failure() && steps.aaa.conclusion == 'failure' }}
${{runner.os}}
${{matrix.version}} … provede krok několikrát, doplní data ze sekce matrix pro každý běh jiná
push.branches: -master, 'releases/**' … nastavení push requestu v určitých GIT větvích
pull_request.branches: - master, develop … pull requesty
workflow_dispach: … manuální spouštění
inputs:
  config-path:
    required: true
    type: string
secrets:
  token:
    required: true
workflow_call.outputs.PRVNI.description: “popis”
workflow_call.outputs.PRVNI.value: ${{ job.EXAMPLE.outputs.output1 }}
běh na více prostředích
concurency.group: environment-${{github.ref}}
concurency.cancel-in-progress: true
runs_on: ubuntu-latest … na jakém agentoviúworkeru job pojede
outputs: … vystupy
outputs.vystup1: ${{ steps.step1.outputs.proměnná }}
if: github.ref_name == 'master' … podmínka pro spuštění jobu
stragegy: … strategie
strategy.matrix.target: [dev, stage, prod]
permissions:
permissions.contents: read
permissions.pull-requests: write
uses: octo-org/another-repo/.github/workflows/workflow.yml@v1 … volání jiného workflow
uses.with.config-path: .github/configdata.yml
uses.secrets:envPAT: ${{ secrets.envPAT }}
steps: 
spustí příkaz, nebo příkazy
shell: bash … volba shellu, kde se to supustí
echo "### Test Summary" >> $GITHUB_STEP_SUMMARY … výstup do Job summary
echo "image_tag=${{ github.run_id}}" >> $GITHUB_ENV … výstup do GitHub proměnné pro další joby, nebo stepy
echo ${{ env.image_tag }} … pozdější použití proměnné
run: gh repo list aaa env.GITHUB_TOKEN: ${{secrets.token}}
uses: actions/cache@v1.2.1
with:
with.path: ~/.m2 … ve kterém adresáři se cachuje. ~/.m2 pro maven, **/node_modules pro node
with.key: ${{ runner.os }}-cache 
with.restore-keys: ““
with.node-version: '16' with.registry-url: https://registry.npmjs.org/
with.java-version: '11'
with.distribution: 'temurin'
with.cache: 'maven'
with.username: ${{ secrets.DOCKER_USR }}
with.password: ${{ secrets.DOCKER_PWD }}
with.context: .
with.push: true
with.tags: aa/bb:cc