F: Was ist Jenkins?

Jenkins ist ein Open-Source-Tool für Continuous Integration, das in Java geschrieben ist. Es bietet benutzerdefinierte Integrationsservices für die Softwarebereitstellung. Es ist ein serverbasiertes System, das von vielen Entwicklungsteams verwendet wird.

F: Weshalb sollte ich Jenkins verwenden?

Sie sollten Jenkins verwenden, wenn Sie Ihren Software-Entwicklungslebenszyklus beschleunigen möchten. Mit Jenkins können Sie das Erstellen, Bereitstellen und Testen in verschiedene Umgebungen integrieren und gleichzeitig die Wartezeit für Ihre Entwicklungsteams verkürzen. Da Sie mit Jenkins fortlaufend integrieren können, eignet es sich gut für Entwicklungsvorgänge und agile Methodiken, die schnelle Iterationszyklen verwenden.

F: Warum sollte ich Jenkins in AWS ausführen?

AWS stellt zuverlässige, skalierbare und sichere Infrastrukturressourcen bereit, die sich optimal zum Ausführen von Anwendungen wie Jenkins eignen. Durch das Ausführen von Jenkins bei der AWS-Datenverarbeitung zahlen Sie nur für das, was Sie auch tatsächlich nutzen, und Sie können die Kapazität nach oben oder unten skalieren, um Ihren spezifischen Bedürfnissen zu entsprechen.

F: Bin ich der Eigentümer meiner Jenkins-Umgebung?

Ja. Alle Ressourcen, die beim Durchführen dieses Erste-Schritte-Leitfadens erstellt werden, verbleiben in Ihrem Besitz und bleiben in Ihrem Konto erhalten. Sie bleiben solange erhalten, bis Sie die Amazon EC2-Instance beenden.

F: Wie hoch sind die Kosten von Jenkins?

Jenkins ist eine kostenlose Open-Source-Software. Die einzigen Kosten, die Ihnen entstehen, sind die Kosten für die zugrunde liegende Infrastruktur, auf der Jenkins ausgeführt wird. Weitere Informationen zu den Kosten erhalten Sie unter verwendete Services und Kosten.

F: Wie kann ich Jenkins in AWS sichern?

Sie sollten Sicherheitsgruppen und sichere Passwörter verwenden. Sie sollten auch sicherstellen, dass Ihre EC2-Instance und Jenkins-Installation über die neuesten Sicherheits-Patches verfügen. Sicherheitsgruppen agieren als virtuelle, zustandsbehaftete Firewalls, die den Datenverkehr für eine oder mehrere Instances steuern. Falls möglich, schränken Sie den IP-Bereich auf nur relevante IP-Quelladressen ein. Öffnen Sie keine irrelevanten TCP- oder UDP-Ports (TCP 80 und 8080 sind ausreichend). Folgen Sie beim Einrichten von Passwörtern für Jenkins den üblichen bewährten Methoden und verwenden Sie neben alphanumerischen Zeichen in Groß- und Kleinschreibung auch Symbole (z. B. /, ., !, *…). Sie können sicherstellen, dass auf Ihrer Amazon Linux-Instance die aktuellen Pakete installiert sind, indem Sie yum-Update ausführen. Dadurch wird auch Jenkins aktualisiert, wenn Sie es laut der Anweisungen in diesem Leitfaden mithilfe von yum installiert haben.

F: Kann ich Jenkins in einem privaten Subnetz ausführen?

Sie können Jenkins auf einer EC2-Instance installieren, die Teil eines öffentlichen oder privaten Subnetzes ist. Wenn Sie die Instance in ein privates Subnetz stellen möchten, müssen Sie sicherstellen, dass Sie auf das Frontend von Jenkins zugreifen können. Wenn Sie eine Verbindung über das Internet herstellen, können Sie eine Jenkins-Zielgruppe erstellen und einen Application Load Balancer verwenden, um einen öffentlichen Endpunkt für Ihre privat gehostete Instance zu erstellen. Wenn Sie eine Verbindung über Ihr eigenes Rechenzentrum herstellen, müssen Sie ein VPN einrichten oder sich über Direct Connect mit Jenkins verbinden.

F: Wie kann ich Jenkins skalieren?

Es stehen Ihnen einige Möglichkeiten zur Verfügung, um sicherzustellen, dass Jenkins mit Ihren CI/CD-Anforderungen Schritt hält. Ein unkomplizierter Weg ist das vertikale Skalieren der EC2-Instance durch Ändern der Instance-Größe. Eine andere Möglichkeit besteht darin, das Jenkins Amazon EC2 Container Service Plug-In so zu konfigurieren, dass Erstellungsaufträge an Jenkins-Slave-Aufgaben in ein ECS-Cluster ausgelagert werden.