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 شعبية. المصادر هنا .