slogan3

Ontwerp een GitHub Actions Workflow voor Geautomatiseerde Afhankelijkheids- en Licentiecontrole

description

Maakt het mogelijk om proactief verouderde of kwetsbare afhankelijkheden en licentieproblemen te detecteren, waardoor juridische risico's verminderen en de beveiliging van het project verbetert. Deze prompt helpt een workflow te creëren die is afgestemd op jouw afhankelijkheidstools en compliancebehoeften, wat tijd bespaart ten opzichte van handmatige controles en naadloos integreert in je CI/CD-pijplijn.

prompt

Help me een GitHub Actions workflow te ontwerpen die geautomatiseerde controles uitvoert op afhankelijkheidsversies en licentiecompliance. Huidige workflowconfiguratie: <voer je huidige workflowconfiguratie in> Dependency management tool: ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Hier is een voorstel voor een GitHub Actions workflow die geautomatiseerde controles uitvoert op afhankelijkheidsversies en licentiecompliance, inclusief meldingen naar een Slack-kanaal: name: Node.js CI met afhankelijkheids- en licentiecontroles on: push: branches: - main pull_request: jobs: dependency-and-license-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Gebruik Node.js uses: actions/setup-node@v2 with: node-version: '14' - name: Installeer afhankelijkheden run: npm install - name: Controleer op verouderde afhankelijkheden run: npm outdated - name: Controleer licentie-informatie run: | npm license generate-disclaimer --summary # Alternatief: gebruik 'license-checker' voor uitgebreidere info # npm install -g license-checker # license-checker --json - name: Voer afhankelijkheids- en licentiecontroles uit run: | # Controleer op verouderde dependencies npm outdated # Check licenties met license-checker npm install -g license-checker license-checker --json > license-report.json # Controleer op ongewenste licenties # Bijvoorbeeld, geen GPL-licenties toegestaan if grep -q 'GPL' license-report.json; then echo "Ongewenste GPL-licentie gevonden!" exit 1 fi - name: Verstuur melding naar Slack bij falen if: failure() uses: Ilshidur/action-slack@v2 with: webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }} title: 'Fout in afhankelijkheids- en licentiecontrole' message: | Een probleem is gedetecteerd tijdens de afhankelijkheids- of licentiecontrole. Controleer de build logs voor details. color: '#FF0000' - name: Verstuur melding naar Slack bij succes if: success() uses: Ilshidur/action-slack@v2 with: webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }} title: 'Dependencies en licentiecontrole geslaagd' message: | Alle afhankelijkheids- en licentiecontroles zijn succesvol uitgevoerd. color: '#36A64F' Opmerkingen: - Zorg dat je een Slack Webhook-URL hebt ingesteld als geheim in je GitHub repository onder ‘SLACK_WEBHOOK_URL’. - Je kunt de controle voor ongewenste licenties aanpassen afhankelijk van je licentiebeleid. - Voor uitgebreide licentiecontroles kan je gebruik maken van de ‘license-checker’ tool zoals geïllustreerd. - De workflow triggert bij push naar ‘main’ en bij pull requests, maar je kunt dat aanpassen naar wens. Wil je dat ik de workflow verder aanpas of uitbreid?
provider: deepseek
model: deepseek-chat
Hier is een uitgebreide GitHub Actions workflow die afhankelijkheidscontroles en licentiecompliance toevoegt aan je bestaande Node.js CI: ```yaml name: Node.js CI met Security & Compliance on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Gebruik Node.js uses: actions/setup-node@v2 with: node-version: '14' - run: npm install - run: npm test dependency-check: runs-on: ubuntu-latest needs: build steps: - uses: actions/checkout@v2 - name: Gebruik Node.js uses: actions/setup-node@v2 with: node-version: '14' - name: Installeer afhankelijkheden run: npm install - name: Uitgebreide dependency audit run: npm audit --audit-level=moderate - name: Check verouderde dependencies run: npm outdated --long - name: Dependency versie analyse run: | echo "### 📊 Dependency Analyse" >> $GITHUB_STEP_SUMMARY npm list --depth=0 >> $GITHUB_STEP_SUMMARY license-compliance: runs-on: ubuntu-latest needs: build steps: - uses: actions/checkout@v2 - name: Gebruik Node.js uses: actions/setup-node@v2 with: node-version: '14' - name: Installeer licentie checker run: npm install -g license-checker - name: Uitgebreide licentie scan run: | license-checker --summary --production - name: Genereer licentie rapport run: | license-checker --json --out licenses.json - name: Upload licentie rapport uses: actions/upload-artifact@v2 with: name: license-report path: licenses.json security-scan: runs-on: ubuntu-latest needs: build steps: - uses: actions/checkout@v2 - name: Gebruik Node.js uses: actions/setup-node@v2 with: node-version: '14' - name: Snyk security scan uses: snyk/actions/node@master env: SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} with: args: --severity-threshold=high notifications: runs-on: ubuntu-latest needs: [dependency-check, license-compliance, security-scan] if: always() steps: - name: Slack notificatie bij falen uses: 8398a7/action-slack@v3 with: status: ${{ job.status }} channel: '#dev-alerts' webhook_url: ${{ secrets.SLACK_WEBHOOK }} env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} ``` **Benodigde repository secrets:** - `SNYK_TOKEN`: Snyk API token (gratis aan te maken) - `SLACK_WEBHOOK`: Slack webhook URL voor #dev-alerts **Belangrijkste features:** 1. **Dependency Audit**: Controleert op bekende beveiligingslekken 2. **Versie Monitoring**: Toont verouderde dependencies 3. **Licentie Compliance**: Scan op licentiecompliance issues 4. **Security Scanning**: Geavanceerde beveiligingsscan met Snyk 5. **Slack Notificaties**: Meldingen naar #dev-alerts bij problemen **Setup instructies:** 1. Voeg de secrets toe in je repository settings 2. Pas de Node.js versie aan indien nodig 3. Configureer eventuele extra licentiebeleidsregels in `license-checker` De workflow voert eerst de bestaande build uit, gevolgd door parallelle security en compliance checks met geïntegreerde notificaties.