Postman mit Newman & Jenkins

In der Reihe des Postman-Tutorials haben wir Postman & Newman und deren Funktionen kennengelernt. Für das vollständige Mastering in Postman benötigen wir nur noch ein Element, um diesen Kurs abzuschließen. Dieses Element ist Jenkins. In diesen Tutorials werden wir also über Postman mit Newman & Jenkins sprechen. Grundsätzlich ist Postman heute nicht nur eine Software. Jetzt ist Postman kein Postman, sondern ein Paket von Postman, Newman und Jenkins. Dieses Paket hilft, den Kreis der automatisierten Tests zu schließen und qualitativ hochwertige Software zu liefern. Da wir die ersten beiden Elemente besprochen haben, werden wir uns in den nächsten Tutorials auf Jenkins konzentrieren, damit wir die Vorteile von Postman mit Newman & Jenkins verstehen. Beginnen wir damit, Sie damit vertraut zu machen.jenkins_Main_Logo

Was ist Jenkins?

Jenkins ist ein in Java geschriebener Open-Source-Automatisierungsserver. Jenkins wird verwendet, um Ihr Projekt kontinuierlich zu erstellen und zu testen und somit die Arbeit eines Entwicklers und eines Testers für die Software zu vereinfachen. Um es mit den von uns untersuchten Begriffen vertraut zu machen, verwendet Jenkins Continuous Integration und Continuous Development für die Entwicklung und Bereitstellung der Software. Mit Jenkins können Unternehmen den Softwareentwicklungsprozess durch Automatisierung beschleunigen. Jenkins integriert Entwicklungslebenszyklusprozesse aller Art, einschließlich Build, Document, Test, Package, Stage, Deploy, Static Analysis und vielem mehr.

Denken Sie daran, dass wir uns im letzten Tutorial mit der kontinuierlichen Integration befasst haben, was kurz gesagt bedeutet, dass jedes Mal, wenn Ihr Code in das Repository verschoben wird, einige Tests automatisch für den Code ausgeführt werden. Dies hilft den Entwicklern, den Build zu überprüfen, ob er korrekt ist oder nicht. Wenn wir keine kontinuierliche Integration „kontinuierlich“ durchführen, aber gelegentlich nicht wissen, welcher Build aufgrund welches Problems fehlgeschlagen ist. Jenkins macht das Gleiche, es hilft dem Entwickler und Tester durch kontinuierliche Integration und kontinuierliche Überprüfung der Qualität des Builds. Aber wir haben nichts über den zweiten Begriff (Continuous Delivery) gelernt, den wir oben verwendet haben. Also machen wir das jetzt.

Was ist Continuous Delivery?

Continuous Delivery basiert auf Continuous Integration, was bedeutet, dass Continuous Delivery (CD) nicht möglich ist, wenn die Continuous Integration (CI) nicht vorhanden ist. Continuous Delivery ist der nächste Schritt der Continuous Integration. Continuous Delivery ist eine DevOps-Softwareentwicklungspraxis, bei der Codeänderungen automatisch erstellt, getestet (Komponententests) und für eine Veröffentlichung in einer Umgebung vorbereitet werden. Diese Umgebung kann alles von Staging, Pre-Production oder Produktion sein. In gewisser Weise erweitert es die kontinuierliche Integration, indem alle Codeänderungen nach der Erstellungsphase in einer Testumgebung und / oder einer Produktionsumgebung bereitgestellt werden.

Mit Continuous Delivery können Entwickler Tests automatisieren, die über reine Komponententests hinausgehen, sodass sie Anwendungsaktualisierungen über mehrere Dimensionen hinweg überprüfen können, bevor sie sie für Kunden bereitstellen. Diese Tests können UI-Tests, Leistungstests, Integrationstests und API-Tests umfassen. Da Sie wissen, dass UI oder andere Tests eine Umgebung benötigen, um ausgeführt zu werden, stellt Continuous Delivery die Anwendung tatsächlich in der angegebenen Umgebung bereit und wo die anderen Tests wie API & UI ausgeführt werden. Dies hilft Entwicklern, Updates gründlicher zu validieren und Probleme präventiv zu entdecken.

Daher werden die Entwickler darüber informiert und manuell in die Produktionsumgebung verschoben, von wo aus die Software für die Kunden / Clients freigegeben wird. Continuous Delivery automatisiert den gesamten Software-Release-Prozess. Jede festgeschriebene Revision löst einen automatisierten Ablauf aus, der die Aktualisierung erstellt, testet und dann ausführt. Die endgültige Entscheidung für die Bereitstellung in einer Live-Produktionsumgebung wird vom Entwickler ausgelöst.

Was ist Continuous Deployment?

Der Unterschied zwischen Continuous Delivery und Continuous Deployment besteht darin, dass eine manuelle Genehmigung für die Aktualisierung auf die Produktion vorliegt. Bei Continuous Deployment erfolgt die Produktionsbereitstellung automatisch ohne explizite Genehmigung. Dies bedeutet, dass im Continuous Deployment auch der letzte Schritt automatisiert wird und der Code automatisch ohne Eingreifen des Entwicklers gepusht wird.

Wir können auch sagen, dass es ein Schritt von Continuous Delivery ist, da es vollständig automatisiert ist. Da es vollständig automatisiert ist, ist es leichter zu erraten, dass es einen sehr sorgfältigen Produktionsprozess erfordert und nur wenige Unternehmen es anwenden werden. Zu diesen sorgfältigen Vorsichtsmaßnahmen gehören eine hoch entwickelte Überwachungskultur und die Fähigkeit, sich schnell zu erholen.

Continuous-Delivery-vs-Continuous-Deployment

Jenkins ist also eine Software, die die Tests automatisiert und Continuous Integration und Continuous Delivery /Continuous Deployment bereitstellt. Jenkins bietet uns weitere Vorteile.

Vorteile von Jenkins

Jenkins erreicht kontinuierliche Integration mit Hilfe von Plug-in und es gibt buchstäblich Tausende von Plugins für Jenkins. Für jede Arbeit finden Sie ein Plug-In für Jenkins und wenn nicht, kann es erstellt werden. Das Plugin ermöglicht die Integration verschiedener DevOps-Phasen. Wenn Sie ein bestimmtes Tool integrieren möchten, müssen Sie das Plugin für dieses Tool installieren. Zum Beispiel: Git, Maven 2 Projekt, Amazon EC2, HTML Publisher usw. Abgesehen von Plug-Ins gibt es die folgenden Vorteile von Jenkins

  • Es ist ein Open-Source-Tool mit großer Community-Unterstützung
  • Es ist einfach zu installieren.
  • Es ist kostenlos.
  • Es wurde mit Java erstellt und ist daher auf alle wichtigen Plattformen portierbar.

Diese Vorteile sind für jeden Entwickler oder Tester von großer Bedeutung. Und wenn Sie etwas nicht bekommen haben, haben wir es im nächsten Abschnitt zusammengefasst.

Postman mit Newman & Jenkins

Jenkins wird heute mit einer Geschwindigkeit verwendet, die sich der Entwickler nie vorgestellt hatte. Es wird bald der Motor für DevOps werden. Es besteht kein Zweifel, dass die Hauptstromquelle von Jenkins die Plugins sind. Es gibt keinen anderen spezifischen Faktor, um Jenkins mit Postman zu verwenden. Es gibt viele Alternativen, die mit Postman verwendet werden können, aber Jenkins wird bevorzugt und empfohlen (auch auf der offiziellen Website von Postman). Sozusagen werden wir Jenkins verwenden, nur weil es eine größere Leistung als andere Software hat und sich auch weiterentwickelt. Die Auswahl an Plugins in Jenkins macht es zur ersten Wahl für jeden. Wenn Sie die Alternativen überprüfen möchten, können Sie sie durch Selbstsuche kennenlernen. Sie sind Atlassian Bamboo, CircleCI, JetBrains TeamCity, ThoughtWorks Snap, um nur einige zu nennen.

Wie wir im obigen Abschnitt besprochen haben , hilft uns die kontinuierliche Integration, die verschiedenen Codes zu kombinieren und Tests kontinuierlich auszuführen. Dieses Amalgam aus Tests und Code ist ein Erfolg aufgrund der kontinuierlichen Integration, die in Postman von Newman und Jenkins durchgeführt wird. Postman Newman wurde entwickelt, um es einfach in Ihre Build-Systeme Jenkins zu integrieren. Mit dieser Funktion erhalten Entwickler ein schnelles Feedback zur Leistung von APIs nach Codeänderungen. Wie mit Hilfe von Newman wird es in Jenkins integriert, und wenn danach Änderungen vorgenommen werden, führt Jenkins die Postman-Sammlungen mit Newman aus.

Zusammenfassung

Jenkins ist ein Continuous Integration Server. Kurz gesagt, Jenkins fungiert als Mittelsmann zwischen Ihrem Build-Code und dem Repository. Wenn es Änderungen im Code findet, sammelt es den Code und sendet sie an Ihren Build-Code, wo automatisierte Tests durchgeführt werden. Wenn Tests in Ordnung erscheinen, liefert ein manueller Push im Falle einer kontinuierlichen Bereitstellung denselben Code an den Client, oder dieser Prozess wird gemäß der kontinuierlichen Bereitstellung automatisiert. So schnell, einfach und zuverlässig. Ich hoffe, Sie müssen jetzt verstanden haben, was Jenkins ist und warum wir es verwenden. Im nächsten Tutorial werden wir Jenkins installieren und einige Sammlungen ausführen.