Sharing files between jobs and workspaces

Um Daten zwischen verschiedenen Jobs zu teilen, gibt es in GitHub Actions zwei Möglichkeiten:

Artefakte werden verwendet, um Dateien zu speichern, auf die nach dem Build noch zugegriffen werden soll: Test Reports, Security Reports o.ä.

Caching wird verwendet, wenn Dateien zwischen einzelnen Jobs ausgetauscht werden sollen. Zum Beispiel können erstellte Artefakte in einem späteren Job für das Deployment verwendet werden.

Weitere Informationen mit Beispielen gibt es im dazugehörigen GitHub Projekt

Beispiel

jobs:
  first-job:
    name: "Build"
    runs-on: ubuntu-latest
    steps:
      # do some fancy stuff here
      
      - name: Cache files
        uses: actions/cache@v3
        id: cache-files
        with:
          path: |
            src/main/resources/file-to-cache
            src/main/resources/other-file-to-cache
          key: cachekey-${{ github.sha }}
        
  second-job:
    name: "Publish"
    runs-on: ubuntu-latest
    steps:
      # do some fancy stuff here
      
      - name: Restore files
        uses: actions/cache@v3
        id: cache-files
        with:
          path: |
            src/main/resources/
          key: cachekey-${{ github.sha }}