نجمعها في الدقيقة rpm WireMock - أداة مساعدة لإنشاء بذرة على خدمات الويب في التناظرية فيدورا COPR من PPA في أوبونتو

WireMock هي أداة مساعدة لمكتبة java لإنشاء بذرة على خدمات الويب. يقوم بإنشاء خادم HTTP ، والذي يمكننا الاتصال به كخدمة ويب حقيقية.


Fedora COPR هي خدمة استضافة مجانية لاستضافة مستودعات مخصصة (على غرار AUR على Arch Linux أو PPA على Ubuntu). من الميزات ، القدرة المضمنة على تجميع حزم rpm عن طريق تحديد اسم PIP و RubyGems.


في هذا المنشور ، سأكتب كيفية جمع دورة في الدقيقة من المستودع الخاص بك عن طريق الالتزام بـ Fedora COPR .


على سبيل المثال ، خذ مستودع wiremock-rpm الذي قمت بإنشائه في ملف spec و unitd files. عند إنشاء مستودعك ، يمكنك أن تأخذ wiremock-rpm كأساس وتغيير ما تحتاجه. أغفل كتابة المواصفات و ملفات وحدة systemd. أعتقد أنك تعرف.


إنشاء مشروع في فيدورا COPR


انتقل إلى فيدورا COPR .



اسم المشروع : حدد اسم الحزمة. عادة ما يكون هو نفس اسم مستودع التخزين الخاص بك.


الوصف : وصف موجز للمشروع.


التعليمات : كيفية تثبيت الحزمة الخاصة بك. اذكر ما يلي:


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

الصفحة الرئيسية : حدد الصفحة الرئيسية للبرنامج الذي تريد إنشاءه أو مستودعك.



خيارات البناء : نشير في Chroots إلى أي نظام تشغيل ترغب في جمع الحزمة.



اتضح كما في الصورة.



خيارات أخرى : إذا كنت بحاجة إلى الإنترنت ، فقم بتحديد المربع في منطقية تمكين الوصول إلى الإنترنت أثناء عمليات الإنشاء



بعد إنشاء المشروع ، انتقل إلى الحزم .



اسم الحزمة: حدد اسم الحزمة.


استنساخ عنوان url: حدد مستودع git.


دليل فرعي: من الأفضل عدم استخدام ملف المصدر والمواصفات والاحتفاظ به في جذر المشروع. إذا كان لديك المصادر في دليل واحد وملف المواصفات في دليل آخر ، فقد تكون هناك مشاكل في الإنشاء.


ملف المواصفات: المسار إلى ملف المواصفات.



إعداد الحزمة العامة : تأكد من التحقق من إعادة الإنشاء التلقائي



بعد إنشاء الحزمة ، انتقل إلى الإعدادات ، ثم إلى التكامل. أدناه على الصفحة ، قمنا بنسخ webhook الخاص بالنظام حيث يوجد مستودع git الخاص بك.



انتقل إلى الإعدادات حيث يوجد مستودع بوابة. التالي لجيثب ، انتقل إلى webhook. أضف webhook. أدخل عنوان URL الخاص بالتحميل ، وحدد تطبيق / json لنوع المحتوى


الآن عن WireMock.


تثبيت wiremock وفقا للتعليمات. دليل العمل من wiremock في مشروعي هو /usr/lib/wiremock /. يحتوي هذا الدليل على wiremock.jar ودليل التعيينات. في دليل التعيينات ، توجد ملفات json مع الطلبات التي ترسلها إلى wiremock والإجابات المعدة.


مثال من http://wiremock.org/docs/running-standalone/ :


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

نرسل طلبًا إلى / api / mytest ونحصل على:


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

مثال من إعداد json:


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

دعونا تقديم طلب إلى / 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 

في دورة في الدقيقة wiremock وأضاف رموز HTTP شعبية. المصادر هنا .

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


All Articles