Nous collectons dans rpm WireMock - un utilitaire pour créer des talons sur les services Web dans Fedora COPR analogique de PPA dans Ubuntu

WireMock est un utilitaire de bibliothÚque java pour créer des talons sur les services Web. Il crée un serveur HTTP, auquel nous pourrions nous connecter en tant que véritable service Web.


Fedora COPR est un service d'hébergement gratuit pour l'hébergement de référentiels personnalisés (similaire à AUR sur Arch Linux ou PPA sur Ubuntu). Parmi les fonctionnalités, la capacité intégrée de collecter les packages rpm en spécifiant le nom de PIP et RubyGems.


Dans cet article, j'écrirai comment collecter des rpm à partir de votre référentiel en vous engageant sur Fedora COPR .


Par exemple, prenez le référentiel wiremock-rpm dans lequel j'ai créé les fichiers d'unités spec et systemd. Lors de la création de votre référentiel, vous pouvez prendre wiremock-rpm comme base et modifier ce dont vous avez besoin. J'omets l'écriture des fichiers d'unités spec et systemd. Je pense que tu sais.


Création d'un projet dans Fedora COPR


Accédez à Fedora COPR .



Nom du projet : spécifiez le nom du package. Généralement identique au nom de votre dépÎt git.


Description : Une brĂšve description du projet.


Instructions : comment installer votre package. Indiquez ce qui suit:


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

Page d'accueil : indiquez la page d'accueil du programme que vous souhaitez créer ou votre référentiel.



Options de construction : dans Chroots, nous indiquons sous quel systĂšme d'exploitation vous souhaitez collecter le package.



Il s'avĂšre que dans la capture d'Ă©cran.



Autres options : Si vous avez besoin d'Internet, dans les booléens, cochez la case Activer l'accÚs Internet pendant les builds



AprÚs avoir créé le projet, accédez à Packages .



Nom du package: indiquez le nom du package.


URL de clonage: spécifiez le référentiel git.


Sous-répertoire: il est préférable de ne pas utiliser et de conserver le fichier source et le fichier de spécifications à la racine du projet. Si vous avez les sources dans un répertoire et le fichier spec dans un autre répertoire, il peut y avoir des problÚmes avec la construction.


Fichier de spécifications: chemin d'accÚs au fichier de spécifications.



Configuration du package générique : assurez-vous de vérifier la reconstruction automatique



AprĂšs avoir crĂ©Ă© le package, accĂ©dez Ă  ParamĂštres , puis Ă  IntĂ©grations. Ci-dessous sur la page, nous copions le webhook du systĂšme oĂč se trouve votre rĂ©fĂ©rentiel git.



Allez dans ParamĂštres oĂč se trouve votre rĂ©fĂ©rentiel git. Ensuite pour github, allez sur webhook. Ajoutez un webhook. InsĂ©rez l'URL de la charge utile, sĂ©lectionnez Application de type de contenu / json


Maintenant sur WireMock.


Installez wiremock selon les instructions. Le rĂ©pertoire de travail de wiremock dans mon projet est /usr/lib/wiremock /. Ce rĂ©pertoire contient wiremock.jar et le rĂ©pertoire des mappages. Dans le rĂ©pertoire des mappages, il y a des fichiers json avec des requĂȘtes que vous envoyez Ă  wiremock et des rĂ©ponses prĂ©parĂ©es.


Exemple de http://wiremock.org/docs/running-standalone/ :


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

Nous envoyons une demande Ă  / api / mytest et obtenons:


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

Un exemple de mon json préparé:


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

Faisons une demande Ă  / 503


 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 

Dans rpm wiremock a ajouté des codes http populaires. Sources ici .

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


All Articles