WireMock es una utilidad de biblioteca java para crear stubs sobre servicios web. Crea un servidor HTTP, al que podr铆amos conectarnos como un servicio web real.
Fedora COPR es un servicio de alojamiento gratuito para alojar repositorios personalizados (similar a AUR en Arch Linux o PPA en Ubuntu). De las caracter铆sticas, la capacidad incorporada de recopilar paquetes rpm especificando el nombre de PIP y RubyGems.
En esta publicaci贸n escribir茅 c贸mo recopilar rpm de su repositorio comprometi茅ndome con Fedora COPR .
Por ejemplo, tome el repositorio wiremock-rpm en el que cre茅 las especificaciones y los archivos de la unidad systemd. Al crear su repositorio, puede tomar wiremock-rpm como base y cambiar lo que necesita. Omito la escritura de especificaciones y archivos de unidad systemd. Creo que lo sabes
Creando un proyecto en Fedora COPR
Ir a Fedora COPR .

Nombre del proyecto : especifique el nombre del paquete. Por lo general, es el mismo que el nombre de su repositorio git.
Descripci贸n : una breve descripci贸n del proyecto.
Instrucciones : C贸mo instalar tu paquete. Indique lo siguiente:
yum -y install yum-plugin-copr yum copr enable ---fedora-copr/- yum -y install - systemctl start -
P谩gina de inicio : especifique la p谩gina de inicio del programa que desea construir o su repositorio.

Opciones de compilaci贸n : en Chroots indicamos en qu茅 sistema operativo desea recopilar el paquete.

Resulta como en la captura de pantalla.

Otras opciones : si necesita Internet, marque la casilla Habilitar el acceso a Internet durante las compilaciones en Booleanos

Despu茅s de crear el proyecto, vaya a Paquetes .

Nombre del paquete: especifique el nombre del paquete.
URL de clonaci贸n: especifique el repositorio de git.
Subdirectorio: es mejor no utilizar este elemento y mantener la fuente y el archivo de especificaciones en la ra铆z del proyecto. Si tiene las fuentes en un directorio y el archivo de especificaciones en otro directorio, puede haber problemas con la compilaci贸n.
Archivo de especificaciones : ruta al archivo de especificaciones.

Configuraci贸n del paquete gen茅rico : aseg煤rese de verificar la reconstrucci贸n autom谩tica

Despu茅s de crear el paquete, vaya a Configuraci贸n , luego a Integraciones. A continuaci贸n, en la p谩gina, copiamos el webhook del sistema donde se encuentra su repositorio git.

Vaya a Configuraci贸n donde se encuentra su repositorio git. Luego para github, vaya a webhook. A帽adir webhook. Inserte URL de carga 煤til, seleccione Tipo de contenido application / json
Ahora sobre WireMock.
Instale la maqueta de alambre de acuerdo con las instrucciones. El directorio de trabajo de wiremock en mi proyecto es /usr/lib/wiremock
/. Este directorio contiene wiremock.jar y el directorio de asignaciones. En el directorio de asignaciones hay archivos json con solicitudes que env铆a a wiremock y respuestas preparadas.
Ejemplo de http://wiremock.org/docs/running-standalone/ :
{ "request": { "method": "GET", "url": "/api/mytest" }, "response": { "status": 200, "body": "More content\n" } }
Enviamos una solicitud a / api / mytest y obtenemos:
curl http://localhost:8080/api/mytest More content
Un ejemplo de mi json preparado:
{ "request": { "method": "GET", "url": "/503" }, "response": { "status": 503, "body": "503 Service Unavailable\n" } }
Hagamos una solicitud a / 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
En rpm, Wiremock agreg贸 c贸digos http populares. Fuentes aqu铆 .