Tag github_actions
Der Beitrag vom 6. August (Vier-Augen-Prinzip in der Pipeline) beschreibt Required Reviewers auf Ebene des Pull Requests: ein zweiter Mensch liest den Code, bevor er in den Ziel-Branch gemergt wird. GitHub Actions kennt eine zweite, unabhängige Stelle für eine manuelle Freigabe: das Environment. Eine Environment Protection Rule greift nicht beim Re... mehr auf muellermh.wordpress.com
Warum @main ein stiller Breaking-Change-Kanal ist Sobald du einen zentralen Reusable Workflow oder eine Composite Action baust, auf die mehrere Repos per uses: verweisen, hast du ein Verteilungsproblem geschaffen, das mit dem eigentlichen Workflow-Code nichts mehr zu tun hat. Der Code selbst kann fehlerfrei sein. Trotzdem reicht ein einziger Merge ... mehr auf muellermh.wordpress.com
Gespeicherte AWS-Keys und Service-Principal-Secrets sind das größte CI/CD-Risiko. OIDC Workload Identity Federation ersetzt sie durch kurzlebige Tokens.... mehr auf muellermh.wordpress.com
GitHub-Actions-Workflows vor dem ersten Lauf prüfen: actionlint für Syntax-Fehler, zizmor für Sicherheitslücken wie Script-Injection und zu weite Rechte.... mehr auf muellermh.wordpress.com
Ein reusable Workflow, der in zwanzig Repos gleichzeitig läuft, ist praktisch, bis du ihn änderst. Sobald mehrere Teams uses: org/.github/workflows/build.yml@main schreiben, zieht jeder Push auf main sofort in jede Pipeline ein. Für einen zentral gepflegten Workflow ist das keine Kleinigkeit: ein neuer Input, ein geänderter Default, ein umbenannter... mehr auf muellermh.wordpress.com
Reusable Workflows habe ich hier im Juli schon behandelt. Die kleinere Einheit daneben ist die Composite Action: ein Bündel aus Steps, das sich wie eine einzelne Action aufrufen lässt. Beide Mechanismen sind wiederverwendbar, beide stehen in YAML, und trotzdem lösen sie unterschiedliche Probleme. Wer sie verwechselt, baut entweder Workflows, die ni... mehr auf muellermh.wordpress.com
Self-hosted Runner sind praktisch. Eigene Hardware, volle Kontrolle über Tooling, keine Minuten-Abrechnung. Der bequeme Weg ist, eine VM einmal aufzusetzen und dann Job für Job darauf laufen zu lassen. Genau da fängt das Problem an. Ein Runner, der über hunderte Builds am Leben bleibt, ist keine saubere Umgebung mehr, sondern ein gemeinsam genutzte... mehr auf muellermh.wordpress.com
In fast jedem Repository, das über ein paar Wochen hinaus lebt, sieht die Pipeline irgendwann gleich aus: build, test, scan, deploy. Und in fast jedem zweiten Repository steht dieser Ablauf noch einmal komplett neu getippt in der Workflow-Datei. Das ist der Punkt, an dem Reusable Workflows sinnvoll werden. Sie sind nicht neu, aber sie werden [̷... mehr auf muellermh.wordpress.com
Caching ist der einfachste Weg, eine Pipeline schneller zu machen. Man setzt drei Zeilen in den Workflow, die Build-Zeit halbiert sich, niemand fragt nach. Genau deshalb ist der Cache eine der am wenigsten geprüften Stellen in CI/CD. Er ist ein beschreibbarer, geteilter Speicher, der zwischen zwei Läufen Daten transportiert. Wer da hineinschreiben ... mehr auf muellermh.wordpress.com
In diesem Artikel zeige ich dir, wie du dein React-Projekt, das mithilfe von Create React App erstellt wurde, automatisch per GitHub Actions auf einen FTP-Server deployst. Dabei kommt die FTP-Deploy-Action von Sam Kirkland zum Einsatz. Dieses Setup automatisiert de... mehr auf 1manfactory.com
GitHub Actions sind praktisch und genau deshalb gefährlich. Ein Workflow läuft mit Token, hat Zugriff aufs Repository und zieht oft fremden Code aus dem Marketplace, ohne dass jemand genau hinschaut. Wer eine Action per Tag einbindet, vertraut darauf, dass hinter diesem Tag morgen noch derselbe Code steckt. Das muss nicht so sein. Hier sind drei [&... mehr auf muellermh.wordpress.com
GitHub bietet mit Dependabot ein Werkzeug, das deine JavaScript-/TypeScript-Projekte mit npm kontinuierlich auf veraltete Pakete oder Sicherheitslücken überwacht. Die Kombination aus regelmäßigen Updates und transparenter Kontrolle... mehr auf 1manfactory.com
In diesem Beitrag zeige ich, wie du den manuellen Deployment-Prozess deines Symfony-Projekts automatisieren kannst. Anstatt dich jedes Mal manuell per SSH einzuloggen und Befehle wie git pull, composer install --no-dev --optimize-autoloader und php bin/console cache:clear --env=prod auszuführen, übernimmt G... mehr auf 1manfactory.com
Abhängigkeiten veralten leise. Eine Bibliothek, die du vor einem Jahr eingebunden hast, hat seitdem vielleicht ein halbes Dutzend Patches bekommen, darunter Sicherheitsfixes. Wer das manuell verfolgt, verliert. Dependabot und Renovate nehmen diese Arbeit ab, indem sie veraltete Pakete erkennen und automatisch Pull Requests öffnen. Beide lösen dasse... mehr auf muellermh.wordpress.com
Seit ich denken kann beherrschten x86 Architekturen meine IT Welt. Dank Smartphones, dem RaspberriPi, der Graviton Plattform von Amazon oder aktuellen Apple Geräten ändert sich das ein wenig. Als User können von diesem Wettbewerb nur profitieren. Für Programmierer und Admins wird die Welt ein wenig komplexer sobald wir Binaries bauen. Ich kann a... mehr auf radikalblogger.de
Die meisten CI/CD-Pipelines laufen mit viel mehr Rechten als sie brauchen. Ein Workflow, der eigentlich nur Tests ausführen soll, hat Schreibzugriff auf das Repository, kann Releases anlegen und liest nebenbei alle Secrets aus. Das fällt niemandem auf, solange nichts passiert. Wenn eine Dependency kompromittiert wird oder ein Pull Request von außen... mehr auf muellermh.wordpress.com
Eine SBOM beantwortet die Frage, was in einem Artefakt steckt. Sie beantwortet aber nicht die Frage, wie das Artefakt entstanden ist. Genau diese Lücke füllt Provenance. Eine Provenance-Attestierung ist ein signierter Nachweis darüber, aus welchem Quellcode, mit welchem Build-System und mit welcher Konfiguration ein Artefakt gebaut wurde. Wer ein C... mehr auf muellermh.wordpress.com