Wir sammeln in rpm WireMock - ein Dienstprogramm zum Erstellen von Stubs über Webdienste in Fedora COPR analog zu PPA in Ubuntu

WireMock ist ein Java-Bibliotheksdienstprogramm zum Erstellen von Stubs über Webdienste. Es wird ein HTTP-Server erstellt, mit dem wir uns als echter Webdienst verbinden können.


Fedora COPR ist ein kostenloser Hosting-Service zum Hosten von benutzerdefinierten Repositorys (ähnlich wie AUR unter Arch Linux oder PPA unter Ubuntu). Zu den Funktionen gehört die integrierte Fähigkeit, RPM-Pakete durch Angabe der Namen PIP und RubyGems zu sammeln


In diesem Beitrag werde ich beschreiben, wie Sie RPM aus Ihrem Repository sammeln, indem Sie sich bei Fedora COPR anmelden .


Nehmen Sie zum Beispiel das Repository wiremock-rpm, in dem ich die Dateien spec und systemd unit erstellt habe. Wenn Sie Ihr Repository erstellen, können Sie wiremock-rpm als Basis nehmen und ändern, was Sie benötigen. Ich verzichte auf das Schreiben von spec- und systemd-Unit-Dateien. Ich denke du weißt.


Erstellen eines Projekts in Fedora COPR


Gehen Sie zu Fedora COPR .



Projektname : Geben Sie den Namen des Pakets an. In der Regel identisch mit dem Namen Ihres Git-Repositorys.


Beschreibung : Eine kurze Beschreibung des Projekts.


Anleitung : So installieren Sie Ihr Paket. Geben Sie Folgendes an:


yum -y install yum-plugin-copr yum copr enable ---fedora-copr/- yum -y install - systemctl start - 

Homepage : Geben Sie die Homepage des Programms an, das Sie erstellen möchten, oder Ihr Repository.



Build-Optionen : In Chroots geben wir an, unter welchem ​​Betriebssystem Sie das Paket sammeln möchten.



Es stellt sich heraus wie im Screenshot.



Andere Optionen : Wenn Sie Internet benötigen, aktivieren Sie in den Booleschen Optionen das Kontrollkästchen Internetzugriff während Builds aktivieren



Gehen Sie nach dem Erstellen des Projekts zu Packages .



Paketname : Geben Sie den Namen des Pakets an.


URL klonen: Geben Sie das Git-Repository an.


Unterverzeichnis: Es ist besser, dieses Element nicht zu verwenden und die Quell- und Spezifikationsdatei im Stammverzeichnis des Projekts zu behalten. Wenn sich die Quellen in einem Verzeichnis und die Spezifikationsdatei in einem anderen Verzeichnis befinden, können Probleme mit dem Build auftreten.


Spezifikationsdatei : Pfad zur Spezifikationsdatei.



Generisches Paket-Setup : Stellen Sie sicher, dass Auto-Rebuild aktiviert ist



Gehen Sie nach dem Erstellen des Pakets zu Einstellungen und dann zu Integrationen. Unten auf der Seite kopieren wir den Webhook des Systems, auf dem sich Ihr Git-Repository befindet.



Gehen Sie zu Einstellungen, in denen sich Ihr Git-Repository befindet. Weiter für Github, gehen Sie zu Webhook. Webhook hinzufügen. Payload-URL einfügen, Inhaltstyp application / json auswählen


Nun zu WireMock.


Installieren Sie den Wiremock gemäß den Anweisungen. Das Arbeitsverzeichnis von wiremock in meinem Projekt ist /usr/lib/wiremock /. Dieses Verzeichnis enthält wiremock.jar und das Zuordnungsverzeichnis. Im Zuordnungsverzeichnis befinden sich JSON-Dateien mit Anforderungen, die Sie an Wiremock senden, sowie vorbereitete Antworten.


Beispiel von http://wiremock.org/docs/running-standalone/ :


 { "request": { "method": "GET", "url": "/api/mytest" }, "response": { "status": 200, "body": "More content\n" } } 

Wir senden eine Anfrage an / api / mytest und erhalten:


 curl http://localhost:8080/api/mytest More content 

Ein Beispiel von meinem vorbereiteten Json:


 { "request": { "method": "GET", "url": "/503" }, "response": { "status": 503, "body": "503 Service Unavailable\n" } } 

Lassen Sie uns eine Anfrage an / 503 stellen


 curl -i -v 172.26.9.123:8080/503 * About to connect() to 172.26.9.123 port 8080 (#0) * Trying 172.26.9.123... * Connected to 172.26.9.123 (172.26.9.123) port 8080 (#0) > GET /503 HTTP/1.1 > User-Agent: curl/7.29.0 > Host: 172.26.9.123:8080 > Accept: */* > < HTTP/1.1 503 Service Unavailable HTTP/1.1 503 Service Unavailable < Matched-Stub-Id: d8b419e1-7e33-4f04-889e-2428f849dc7d Matched-Stub-Id: d8b419e1-7e33-4f04-889e-2428f849dc7d < Transfer-Encoding: chunked Transfer-Encoding: chunked < Server: Jetty(9.2.z-SNAPSHOT) Server: Jetty(9.2.z-SNAPSHOT) < 503 Service Unavailable 

In rpm fügten wiremock beliebte http-Codes hinzu. Quellen hier .

Source: https://habr.com/ru/post/de476260/


All Articles