Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Die Veröffentlichung von Software sollte einfach sein.... Automatisiere fast alles und behalte alles, was du zum Erstellen, Verteilen, Testen und Veröffentlichen deiner Anwendung brauchst, in der Versionskontrolle.
David Farley, Continuous Delivery: Zuverlässige Software Releases durch Build-, Test- und Deployment-Automatisierung
1968 brauchte die Londoner U-Bahn im Vereinigten Königreich ein digitales Schild, um die Fahrgäste zu warnen, wenn sie die Lücken zwischen den Zugtüren und den Bahnsteigen überqueren. Da die Speicherung von Daten für solche Schilder damals sehr teuer war, wählte man einen sehr kurzen Satz, um die Fahrgäste zu warnen: "mind the gap".
Heutzutage wird das Wort "Verstand" seltener verwendet, aber die Absicht, das Bewusstsein für fehlende Teile oder Dinge, die dich stören können, zu schärfen und darauf zu reagieren, ist immer noch sinnvoll. Und es ist genauso wichtig, wenn wir die Idee auf geschäftliche und technische Prozesse anwenden, die von der Automatisierung profitieren können.
Seit seiner Gründung im Jahr 2008 hat GitHub Lücken geschlossen, um Nutzern die Zusammenarbeit und den Aufbau von Gemeinschaften rund um Open-Source-Software zu ermöglichen. Und das hat es sehr gut gemacht. Die Bedeutung des SaaS-Hosting-Modells, das GitHub eingeführt hat, und des kollaborativen Ökosystems, das es um sich herum aufgebaut hat, kann gar nicht hoch genug eingeschätzt werden. Bis vor ein paar Jahren fehlte jedoch ein wichtiger Bestandteil dieses Ökosystems: eine eng integrierte Automatisierungsplattform für wichtige Funktionen wie CI/CD.
Natürlich gibt es keinen Mangel an Anwendungen, die diese Lücke füllen. Tools wie Jenkins, Travis CI, CircleCI, Azure DevOps und andere haben Integrationsmethoden über verschiedene Ansätze wie Webhooks bereitgestellt. Die Nutzer von GitHub mussten jedoch immer noch eine andere Anwendung außerhalb ihrer Kollaborationsumgebung nutzen, um die grundlegenden Funktionen zu erhalten, die sie benötigten. All das hat sich mit GitHub Actions geändert.
Es ist schwierig, Actions mit einer eigenständigen Bezeichnung zu klassifizieren. Es ist eine logische Erweiterung des größeren GitHub-Modells. Und obwohl dies kein allgemeines Buch über GitHub ist, habe ich versucht, es so zu schreiben, dass du sehen kannst, wie GitHub Actions mit dem größeren GitHub-Ökosystem zusammenspielt, unabhängig davon, wie viel Erfahrung du mit Automatisierung in GitHub hast.
Die Struktur dieses Buches
Da du dieses Buch liest, nehme ich an, dass du zumindest ein bisschen neugierig und vielleicht sogar aufgeregt über das Potenzial von Actions bist. Ich habe versucht, dieses Potenzial zusammen mit den relevanten Details im Text darzustellen. Deshalb möchte ich dir ein wenig über den Aufbau dieses Buches "GitHub Actions lernen" erzählen und wie du das Beste daraus machen kannst.
Teil I: Grundlagen
Wie bei jeder technischen Reise beginnen wir mit der Besprechung der Grundlagen von GitHub Actions. In Teil I des Buches geht es um die Grundlagen von GitHub Actions und wie es funktioniert. Er hilft dir dabei, die Kernbestandteile zu verstehen und zu lernen, wie du dich in den Abläufen zurechtfindest. Meine Absicht ist es, die grundlegenden Fragen nach dem Warum und Wie zu beantworten, die du wissen musst, um mit der Technologie loslegen zu können, und dir gleichzeitig den Einblick und das Verständnis zu vermitteln, um eine solide Grundlage für die Nutzung von Actions zu schaffen.
Teil II: Bausteine
Teil II erweitert dein Wissen über Aktionen um die Bausteine, mit denen du die breite Palette an Optionen für die Konfiguration, den Austausch und die Speicherung von Daten sowie das Auslösen und Steuern der Ausführung deiner Arbeitsabläufe nutzen kannst. Diese Techniken bilden den Kern der Verwendung von Aktionen, um deine Aufgaben zu erledigen, und zeigen dir gleichzeitig, wie du sie am besten an deine Bedürfnisse anpassen kannst.
Teil III: Sicherheit und Überwachung
Die Nutzung einer Technologie beinhaltet die ausdrückliche Forderung, sie sicher zu nutzen. Und die Notwendigkeit, die Sicherheitsaspekte jeder neuen Technologie zu verstehen, ist entscheidend. Teil III des Buches befasst sich daher mit den Schlüsselbereichen Sicherheit und Überwachung. In diesem Abschnitt wird die Sicherheit unter dem dreifachen Blickwinkel von Konfiguration, Design und Überwachung betrachtet. Dann wird die Überwachung an sich näher beleuchtet, indem die verschiedenen Optionen für die Protokollierung und die Techniken zur Fehlerbehebung beschrieben werden.
Teil IV: Fortgeschrittene Themen
Wenn du bereit bist für fortgeschrittenere Interaktionen mit Actions, bietet Teil IV Einblicke in eine Reihe weniger typischer (aber wohl eher unterhaltsamer) Themen. Dazu gehören die Erstellung eigener benutzerdefinierter Aktionen, die Erstellung eigener Startworkflows und wiederverwendbarer Workflows, die Arbeit mit der GitHub CLI, APIs und die Verwendung von Matrixstrategien und Containern in deinen Workflows. Zum Schluss habe ich noch einige praktische Tipps und Beispiele für die Migration zu GitHub Actions gegeben, wenn du ein anderes Automatisierungstool verwendest. Das letzte Kapitel des Buches enthält außerdem eine ausführliche Besprechung und Beispiele für das neue Tool GitHub Importer, das dir beim Bootstrapping und der Automatisierung von Migrationen hilft.
Mit dieser allgemeinen Struktur im Hinterkopf wird im nächsten Abschnitt eine weitere Aufschlüsselung nach Zielgruppen vorgenommen.
Zielpublikum
Dieses Buch richtet sich an alle, die mehr über GitHub Actions erfahren wollen. Wenn du dieses Buch in die Hand nimmst, solltest du bereits Grundkenntnisse über Git und GitHub haben und nun herausfinden wollen, wie du Actions in deinen Arbeitsablauf integrieren kannst. Wahrscheinlich hast du bereits Erfahrung mit Lösungen wie Jenkins, Travis CI und so weiter. Die Automatisierungsplattform und das Framework von GitHub Actions können deinen Softwareentwicklungsprozess verbessern.
Du kannst Softwareentwickler, SRE, DevOps Engineer oder etwas ganz anderes sein, aber ich hoffe, dass die oben beschriebenen Abschnitte allen Lesern eine vollständige Lernlösung für GitHub-Aktionen bieten. Hier sind einige Zielgruppen, an die ich beim Schreiben gedacht habe und von denen ich denke, dass sie davon profitieren können:
-
Diejenigen, die neu (oder ziemlich neu) bei GitHub sind und verstehen wollen, wie die Automatisierungskomponente von GitHub funktioniert
-
Diejenigen, die die Konzepte und Abläufe von GitHub Actions bereits verstehen und Unterstützung bei der Implementierung des Codes und der Syntax für Workflows benötigen
-
Diejenigen, die GitHub Actions als potenzielles CI/CD/Automatisierungsziel verstehen und bewerten wollen
-
Diejenigen, die bereits einige Erfahrung mit GitHub Actions haben und diese für eigene Zwecke besser nutzen möchten
-
Diejenigen, die an der Implementierung von GitHub Actions arbeiten oder sie bereits implementiert haben und sicherstellen müssen, dass sie dies sicher tun
-
Diejenigen, die für die Einführung von GitHub-Aktionen in einer Abteilung, Organisation oder einem Referat verantwortlich sind oder diese einführen wollen
-
Erfahrene GitHub-Nutzer, die ihre aktuellen CI/CD-Lösungen auf GitHub Actions migrieren wollen
Wenn einer dieser Punkte auf deinen Anwendungsfall zutrifft, hoffe ich, dass das Buch dir den gewünschten Nutzen bringt. Wenn du es gelesen hast und die Möglichkeit dazu hast, freue ich mich immer über Feedback in Form von Rezensionen oder Interaktionen bei zukünftigen Konferenzen oder Schulungen.
Mit GitHub-Aktionen weitermachen
Natürlich entwickelt sich die Technologie ständig weiter, und wir können vorhersagen, dass sie sich in einigen Bereichen schneller weiterentwickelt als in anderen. Daher wirst du feststellen, dass einige Abschnitte des Textes Haftungsausschlüsse enthalten, die sich auf den "Stand zum Zeitpunkt der Erstellung" beziehen. Obwohl GitHub und ich gemeinsam daran gearbeitet haben, dieses Buch so umfassend und aktuell wie möglich zu gestalten, solltest du immer die aktuelle GitHub-Dokumentation zu Rate ziehen, um die aktuellsten Informationen zu erhalten - insbesondere zu Funktionen, die derzeit als Beta-Version gekennzeichnet sind. Glücklicherweise enthält der Text viele Links zur aktuellen GitHub-Dokumentation für relevante Bereiche.
Mehr als ein Jahrzehnt des Einsatzes in verschiedenen Formen hat gezeigt, dass kontinuierliche, automatisierte Prozesse in der Industrie langlebige Modelle sind, die ihr langfristiges Potenzial, ihre Zuverlässigkeit und ihre Anpassungsfähigkeit unter Beweis gestellt haben. Mit der Zeit werden sich die Werkzeuge ändern, die Eingaben werden sich ändern und die Schritte werden sich weiterentwickeln. Aber ein gut gemachtes CI/CD/Automatisierungs-Framework wird immer das beste Mittel sein, um Software zeitnah zu produzieren und die Anforderungen der Nutzer/innen zu erfüllen. Wenn du in GitHub arbeitest, gibt es kein besseres Framework als GitHub Actions, um dieses Ziel zu erreichen.
Ich hoffe, dass dieses Buch dir hilft, die Lücken in deinem Wissen über GitHub Actions zu erkennen und zu schließen. Ich wünsche dir viel Glück auf deinem Weg und danke dir fürs Lesen.
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
Code-Beispiele verwenden
Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://github.com/techupskills/learning-github-actions zum Download bereit .
Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an support@oreilly.com.
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Genehmigung erforderlich.
Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Learning GitHub Actions von Brent Laster (O'Reilly). Copyright 2023 Tech Skills Transformations, LLC, 978-1-098-13107-4."
Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
O'Reilly Online Learning
Hinweis
Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter https://oreilly.com.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-889-8969 (in den Vereinigten Staaten oder Kanada)
- 707-829-7019 (international oder lokal)
- 707-829-0104 (Fax)
- support@oreilly.com
- https://www.oreilly.com/about/contact.html
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/learning-github-actions aufrufen .
Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.
Finde uns auf LinkedIn: https://linkedin.com/company/oreilly-media
Folge uns auf Twitter: https://twitter.com/oreillymedia
Schau uns auf YouTube: https://youtube.com/oreillymedia
Danksagungen
Ein Buch zu schreiben, ist eine große Investition. Während der Arbeit an diesem Buch habe ich viele frühe Morgen, späte Nächte und Wochenenden in die Recherche und Ausarbeitung der Inhalte investiert. Aber jetzt, wo Learning GitHub Actions kurz vor der Veröffentlichung steht, denke ich auch an die vielen anderen, die ihre Zeit und Energie investiert haben, um das Buch von der Idee bis zum Druck zu bringen. Ich hoffe, dass diese kollektiven Bemühungen dazu führen, dass du das Gefühl hast, dass es die Investition wert ist, die du mit dem Lesen dieses Buches machst.
Ich kann allen Beteiligten nicht genug für ihr Engagement und ihre Unterstützung danken, aber ich werde es versuchen. Es ist weit über ein Jahr her, dass ich mit dem Schreiben von Kapitel 1 begonnen habe, und viele der hier erwähnten Personen haben die ganze oder den größten Teil der Reise mitgemacht. (Wenn du an dieser Reise beteiligt warst und ich es versäumt habe, dich hier zu erwähnen, entschuldige bitte dieses Versehen. Ich kann dir versichern, dass es sich um einen unbeabsichtigten kognitiven Fehler handelt und nicht um eine absichtliche Beleidigung).
Zunächst möchte ich John Devins, meinem Akquisitionsredakteur bei O'Reilly, danken, der an dieses Buch geglaubt und sich für es eingesetzt hat - wie schon bei so vielen anderen Projekten in meinem Namen. Ich respektiere und schätze Johns Vision und sein Bestreben, hochwertige Bildungsangebote zu machen und neue Wege zu finden, um Lernlücken zu schließen. John hält sich meist im Hintergrund, aber seine Bemühungen sind der Schlüssel zu einem Großteil der Lerninhalte, die ich und andere Inhaltsersteller den Teilnehmern von O'Reilly Learning vermitteln.
Auch hinter den Kulissen hat Michele Cronin als Entwicklungsredakteurin unermüdlich daran gearbeitet, das Projekt (und mich) auf Kurs zu halten, mögliche Hindernisse aus dem Weg zu räumen und mir weise Ratschläge zu geben, wie ich alle Herausforderungen meistern kann, die sich auf dem Weg ergeben haben. Ihre Ratschläge waren immer zutreffend und genau das, was ich zu dem Zeitpunkt hören wollte. Aber am beeindruckendsten ist vielleicht, dass sie das immer mit einem Lächeln im Gesicht getan hat, als optimistische und unterstützende Begleiterin. Ich muss ehrlich zugeben, dass ich noch nie ein Fan des Lektorats beim Schreiben von Büchern war. Aber bei Michele wusste ich, dass ich aufgrund ihrer Erfahrung und Anleitung sicher sein konnte, wie ich vorgehen würde.
Es gibt noch zahlreiche andere Personen bei O'Reilly, die an der Entstehung des Buches beteiligt waren und die ich ebenfalls erwähnen möchte. Kate Dullea hat einen großen Teil der Arbeit geleistet und alle Screenshots und Bilder für das Buch überprüft, um sicherzustellen, dass sie geeignet und lesbar sind. Außerdem gab sie mir wertvolle Tipps, damit ich sie bei der Erstellung der Inhalte überprüfen konnte. Clare Laylock, Kim Sandoval und Jonathan Owen waren hervorragend beim Korrekturlesen und Klären des Inhalts, um ihn klar und lesbar zu machen. Und vielen Dank an Karen Montgomery für das tolle Titelbild und David Futato für die Innengestaltung.
Als Nächstes möchte ich Julian C. Dunn, Senior Director of Product Management for Actions bei GitHub, danken. Bei jeder ausführlichen Diskussion über eine Technologie, die sowohl von einem Unternehmen als auch von einer Community unterstützt wird, ist es unglaublich hilfreich, einen Ansprechpartner zu haben, der dir hilft, die aktuelle und zukünftige Richtung der Technologie zu verstehen, Fragen zu beantworten und Unklarheiten zu Themen zu beseitigen. Julian hat all das und noch viel mehr als Prüfer und Berater getan, während ich die Inhalte entwickelt habe. Seine Mitarbeit hat zweifellos dazu beigetragen, dass das Buch ein besserer und relevanterer Text geworden ist. Mein Dank gilt Julian und GitHub, die aktiv dazu beigetragen haben, dass die Inhalte zum Zeitpunkt der Erstellung dieses Buches so gut und so aktuell wie möglich sind. (Ich sollte auch erwähnen, dass er das Vorwort für das Buch geschrieben hat, und ich hoffe, du nimmst dir einen Moment Zeit, um es zu lesen, falls du es noch nicht getan hast).
Neben Julian hätte ich mir kein besseres Team von technischen Prüfern wünschen können als Brent Beer, Taylor Dolezal, Kerim Satirli und Daniel Hinojosa. Jeder von ihnen hat mir sehr nützliches Feedback und Vorschläge gegeben, die mir dabei geholfen haben, die technischen Themen und die Präsentation des Materials auf den Punkt zu bringen. Ich schätze mich sehr glücklich, dass ich die Zeit dieser Gruppe nutzen konnte, um von ihrem gemeinsamen technischen Hintergrund und ihrem Blick für Details zu profitieren.
Ich möchte mich auch bei Ethan Dennis von GitHub für seine Mitarbeit am Actions Importer Tooling und Prozess bedanken. Ich war sehr begeistert, als ich erfuhr, dass es dieses einzigartige neue Tool gibt. Mir war schnell klar, dass ich es in das letzte Kapitel über Migration einbauen musste. Ethan war unglaublich hilfsbereit, als ich die Beispiele und die Verwendung des Tools durchging. Er ging schnell auf alle Fragen und Probleme ein, auf die ich stieß, und diente mir als Gutachter für dieses Kapitel. Wir wissen seine Bemühungen und sein Engagement sehr zu schätzen.
Wie ich bereits erwähnt habe, habe ich die Arbeit an diesem Buch hauptsächlich an Vormittagen und Wochenenden erledigt - neben meinem Vollzeitjob als Direktor in der DevOps-Organisation bei SAS. Aber nur dank der Unterstützung meiner Kollegen und des Managements bei SAS ist es mir möglich, sowohl in der Unternehmens- als auch in der Open-Source-Welt Fuß zu fassen. Mein besonderer Dank gilt Rob Stephens, der mir als Mentor zur Seite steht, wenn es darum geht, Dinge zu erledigen, und der mir geholfen hat, zu lernen, wie man prägnant für die Geschäftskommunikation schreibt (woran ich immer noch arbeite). Außerdem danke ich Jared Peterson für seine Führung, Unterstützung und seinen Fokus auf Open-Source-Möglichkeiten und Bryan Harris - unserem unglaublichen CTO und EVP - für seine Beispiele für technische und menschliche Führung und Unterstützung.
Es wäre nachlässig, Todd Lewis, dem Vorsitzenden der All Things Open Organisation, und Jay Zimmerman, dem Leiter der No Fluff Just Stuff Konferenzen, nicht zu danken, dass sie mir im Laufe der Jahre die Möglichkeit gegeben haben, auf ihren jeweiligen Konferenzen zu sprechen und zu präsentieren. Das Material in diesem Buch ist durch die vielen Präsentationen, die ich zu verwandten Themen in virtuellen Workshops und Konferenzen für ATO und NFJS gehalten habe, besser geworden, seit ich angefangen habe, mich mit Actions zu beschäftigen. Wenn du jemals die Gelegenheit hast, eine dieser Konferenzen, ein Meetup oder ein virtuelles Event zu besuchen, das von diesen Organisationen gesponsert wird, empfehle ich dir, das zu tun.
Ein kleines Dankeschön an "die Gang" (ihr wisst, wer ihr seid), die sich jede Woche nach der Arbeit zum Teambuilding im Rally Point (Gebäude RP) trifft. Das ist eine der wenigen Gelegenheiten, bei denen ich mich entspannen kann, während ich die Gespräche und die Entspannung mit Leuten genieße, die nicht nur aktuelle und ehemalige Kollegen, Bierliebhaber, Weltphilosophen und Technikgurus sind, sondern auch Freunde.
Vor allem möchte ich meiner Frau Anne-Marie dafür danken, dass sie meine Seelenverwandte ist und mich bei allem, was ich tue, immer unterstützt. Durch sie und unsere Kinder Walker, Chase, Tanner und Katie werde ich ständig daran erinnert, dass die Menschen und Beziehungen, vor allem die Familie, die wir in unserem Leben haben, das Wichtigste sind. Alles andere ist nur ein Mittel zum Zweck - oder sollte es sein -, um die Zeit zu haben, Verbindungen zu knüpfen und Erfahrungen mit unserer Familie und unseren Freunden zu teilen.
Abschließend möchte ich mich bei dir, dem Leser, dafür bedanken, dass du dir dieses Buch besorgt hast und es liest. Ich hoffe aufrichtig, dass es dir nützlich ist und dir hilft, deine Ziele zu erreichen, wenn du deine Reise mit GitHub Actions beginnst oder fortsetzt.
Get GitHub-Aktionen lernen now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.