Skip to main content

GitHub Actions-Hilfsprogramm

GitHub ActionsWorkflows generieren und verbessern

Hinweis

  • Die Beispiele in dieser Bibliothek dienen der Inspiration. Du solltest sie so anpassen, dass sie für deine Projekte, Sprachen und Teamprozesse spezifischer sind.
  • Beispiele für von der Community bereitgestellte benutzerdefinierte Anweisungen für bestimmte Sprachen und Szenarios findest du im Repository Großartige GitHub Copilot-Anpassungen.
  • Abhängig von der Plattform oder IDE, auf der du sie erstellst, kannst du benutzerdefinierte Anweisungen auf verschiedene Bereiche anwenden. Weitere Informationen findest du unter Informationen zum Anpassen der GitHub Copilot-Antworten.

Das folgende Beispiel zeigt eine pfadspezifische actions.instructions.md Datei, die nur für GitHub Actions Workflowdateien in Ihrem Repository mit dem applyTo Feld gilt. Weitere Informationen zu pfadspezifischen Anweisungen findest du unter Hinzufügen von benutzerdefinierten Repositoryanweisungen für GitHub Copilot.

Text
---
applyTo: ".github/workflows/**/*.yml"
---

When generating or improving GitHub Actions workflows:

## Security First
- Use GitHub secrets for sensitive data, never hardcode credentials
- Pin third-party actions to specific commits by using the SHA value (e.g., `- uses: owner/some-action@a824008085750b8e136effc585c3cd6082bd575f`)
- Configure minimal permissions for GITHUB_TOKEN required for the workflow

## Performance Essentials
- Cache dependencies with `actions/cache` or built-in cache options
- Add `timeout-minutes` to prevent hung workflows
- Use matrix strategies for multi-environment testing

## Best Practices
- Use descriptive names for workflows, jobs, and steps
- Include appropriate triggers: `push`, `pull_request`, `workflow_dispatch`
- Add `if: always()` for cleanup steps that must run regardless of failure

## Example Pattern
```yaml
name: CI
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: npm
      - run: npm ci
      - run: npm test
```

Weitere Informationen