how publish pact contract pact broker
Aquest tutorial explica dues opcions per configurar el Pact Broker. Podeu publicar el contracte de Pacte al Pact Broker mitjançant el marc pact-js i amb Postman:
on trobar la clau de seguretat de la xarxa
Què és Pact Broker?
Pact Broker és una eina proporcionada pels creadors del marc Pact. Facilita l’emmagatzematge dels contractes, la visualització dels consumidors i l’estat del contracte de verificació.
La raó per tenir un intermediari independent per emmagatzemar els contractes es deu al fet que cada conjunt de proves sovint s’escriuen en diferents dipòsits i fins i tot en diferents idiomes.
=> Exploreu aquí la sèrie de formació sobre proves de contractes simples
Què aprendreu:
Publica el contracte de pacte per a un agent de pactes
Abans d’analitzar la manera de publicar un contracte, heu de prendre una decisió sobre si voleu allotjar el Pact Broker vosaltres mateixos o utilitzar un servei allotjat, com ara Pactflow .
Personalment, hem optat per Pactflow, ja que ofereix els avantatges addicionals tal com es mostra a la taula següent:
Funció | Pactflow | Allotjament independent |
---|---|---|
SSO (Github) | Sí | no |
Servei de manteniment | no | Sí |
Fitxes / secrets segurs | Sí | no |
Webhooks | Interfície d'usuari configurable | Configuració manual |
La infraestructura com a codi | Terraform | Dockerfile |
Configuració de Pact Broker amb Pactflow
Pactflow proporciona una opció gratuïta que només us cobrarà després de la prova de 180 mesos (a partir de maig de 2020), és a dir, 10 anys i mig.
- Registreu la vostra adreça de correu electrònic amb Pactflow (tingueu en compte que sempre podeu afegir usuaris addicionals).
- Configureu la informació de l'empresa i el subdomini per al vostre Pact Broker.
- Ara hauríeu de rebre un correu electrònic amb el vostre nom d’usuari i contrasenya temporals.
- Aneu al vostre subdomini (aquí hi ha el meu subdomini ) i inicieu la sessió. Si ha funcionat correctament, hauríeu de veure l'exemple d'aplicació amb un contracte ja configurat.
Més endavant, al tutorial, veurem com es pot verificar contra contractes dins de Pactflow.
Configuració de Pact Broker amb Docker (docker-compose)
Pact ofereix imatges docker per fer girar fàcilment el vostre propi Pact Broker en qüestió de segons amb docker-compose. El repositori github explica com es pot fer això. Anem a detallar-ho més endavant.
A continuació es donen alguns passos addicionals que s’afegeixen per garantir que el servei sigui estable:
- Afegiu 'reinicia: sempre' al fitxer acoblador-composar serveis.
- Inicieu docker-compose al servidor mitjançant l'argument '-d' detached per permetre que s'executi en segon pla.
Contracte editorial amb pact-js
Cada implementació del llenguatge Pact té els seus propis mètodes sobre com publicar els contractes al corredor. En publicar al Pact Broker en JavaScript, la configuració hauria de ser similar a aquesta.
El testimoni de Pact Broker que es mostra anteriorment s’emmagatzema a Pactflow a la configuració. A continuació es mostren les captures de pantalla. Assegureu-vos que utilitzeu el testimoni CI que té permisos de lectura i escriptura.
Anar a Configuració i després fitxes API a Pactflow.
Probablement els secrets i les contrasenyes no s’han d’emmagatzemar al git, per tant s’hauria d’utilitzar un fitxer `.env` i fer-hi referència dins del codi amb alguna cosa com es mostra a continuació.
Juntament amb el 'PublishVerificationResult' valor, no voleu verificar els contractes al vostre entorn local. Per tant, s'hauria d'establir una altra variable d'entorn, com es mostra a continuació.
Ara el contracte es pot publicar directament al codi.
Contracte editorial amb Carter
Normalment, per verificar el primer contracte, fem servir Postman per assegurar-nos que l’agent està configurat correctament. Carter també s'ha utilitzat quan els consumidors tardaven a adoptar el Pacte dins del seu equip, de manera que vam publicar el contracte al Pact Broker i vam demanar a l'equip de consumidors que verifiqués si estan satisfets amb el contracte.
Això ens va permetre, com a equip proveïdor, verificar contra el contracte i tenir més confiança en els nostres desplegaments. A més, quan l’equip de consumidors estava disposat a adoptar el Pacte, ja tenien un exemple de treball.
A continuació es detallen els passos per publicar Postman:
# 1) PUT: construïu la sol·licitud
- Aneu a subdomini
- Nom del proveïdor
- Nom del consumidor
- Versió
# 2) Autorització: afegiu el testimoni portador (que és equivalent al testimoni API tal com s'ha esmentat anteriorment)
# 3) Incloeu el Pact JSON com a cos (el JSON es pot copiar directament al camp del cos, assegurant-vos així que definiu la capçalera Contingut: Tipus a 'application / json').
Compartir pactes amb proveïdors d'API
Un cop publicats els vostres contractes, el proveïdor pot recuperar el contracte del Pacte sol·licitant l’URL del Pact Broker amb:
Normalment, voldreu verificar amb una versió específica de l'API. Per exemple, en una arquitectura de microserveis, l'equip de consumidors fa canvis constants a la informació que necessiten de l'API.
A més, el proveïdor d'API realitza canvis al mateix temps i haurà de verificar la versió que actualment es desplega a la producció, ja que assegurarà un desplegament perfecte.
Conclusió
Finalment, teniu un Pact Broker amb un contracte publicat; al següent tutorial veurem com escriure la prova del proveïdor embolicant una API .Net Core, extret del darrer contracte i comprovant-la amb l’API local.
El marc del Pacte no només és valuós al començament del vostre projecte, de manera orientada al consumidor, sinó que l’avantatge de visualitzar els vostres consumidors amb el Pact Broker és, sens dubte, un factor clau per utilitzar aquesta eina.
A més, la capacitat d'entendre millor les interaccions dels consumidors i com s'està utilitzant l'API sovint es pot perdre en la traducció i pot provocar un problema de producció que pugui succeir. Això condueix a hores de depuració i arrossegament a través dels registres d'aplicacions.
En aquest tutorial, hem après dues opcions diferents per configurar el vostre Pact Broker. Heu publicat el vostre contracte mitjançant el marc pact-js i també amb Postman.
En aquest punt, heu de pensar en alinear les vostres versions entre els microserveis i també nomenar els proveïdors de manera coherent per crear una xarxa Pact Broker fàcil de llegir i comprensible.
=> Visiteu aquí per conèixer les proves de contracte des de zero
Lectura recomanada
- Com escriure una prova del pacte del consumidor a JavaScript
- Introducció a la prova de contractes amb exemples
- Verifiqueu el contracte del pacte i el desplegament continu amb el CLI del pacte
- Docker Tutorial: Instal·lació i introducció a Docker
- Scripting avançat per a fluxos de treball de proves complexes a Postman
- Com es crea documentació API a Postman?
- Com s'utilitza Postman per provar diferents formats de l'API?
- Top 10 de les preguntes més populars de l'entrevista de carters amb respostes