ProHoster > بلوق > إدارة > كيفية إنشاء موقع ثابت على مواقع عمال Cloudflare
كيفية إنشاء موقع ثابت على مواقع عمال Cloudflare
مرحبًا! اسمي ديما، أنا قائد فني لفريق SysOps في Wrike. سأخبرك في هذه المقالة بكيفية إنشاء موقع ويب قريب من المستخدم قدر الإمكان في 10 دقائق و5 دولارات شهريًا وأتمتة نشره. لا علاقة للمقال تقريبًا بالمشكلات التي نحلها داخل فريقنا. هذه بالأحرى تجربتي الشخصية وانطباعاتي في التعرف على تكنولوجيا جديدة بالنسبة لي. حاولت وصف الخطوات بأكبر قدر ممكن من التفاصيل حتى تكون التعليمات مفيدة للأشخاص ذوي الخبرة المختلفة. ط نتمنى أن تستمتعوا. يذهب!
لذا، ربما تكون قد وجدت بالفعل طريقة بسيطة ورخيصة لاستضافة موقع ويب. ربما حتى مجانا، كما هو موضح في هذامقالة عظيمة.
ولكن فجأة مازلت تشعر بالملل وتريد أن تلمس عالم التكنولوجيا الجديد والشجاع؟ لنفترض أنك تفكر في أتمتة النشر وترغب في تسريع موقعك قدر الإمكان؟ في هذه المقالة سوف نستخدمهوغو، ولكن هذا اختياري.
نحن نستخدم Gitlab CI/CD للتشغيل الآلي، ولكن ماذا عن التسريع؟ دعونا ننشر الموقع مباشرة على Cloudflare باستخداممواقع العمال.
لنقم بإنشاء المشاركة الأولى: hugo new posts/my-amazing-post.md
إضافة محتوى إلى الملف الذي تم إنشاؤه: content/posts/my-amazing-post.md. عند الانتهاء من كل شيء، قم بتغيير قيمة المسودة إلى زائف
توليد ملفات ثابتة: hugo -D
الآن يقع موقعنا الثابت داخل الدليل ./عام وجاهز للنشر اليدوي الأول.
الجزء 2: إعداد Cloudflare
الآن دعونا نلقي نظرة على الإعداد الأولي لـ Cloudflare. لنفترض أن لدينا بالفعل نطاقًا للموقع. لنأخذ كمثال blog.example.com.
الخطوة 1: إنشاء إدخال DNS
أولا، حدد المجال الخاص بنا، ثم عنصر القائمة DNS. نقوم بإنشاء مدونة A-record ونشير إلى بعض عناوين IP الوهمية لها (هذا هو الملف الرسميتوصية، لكن كان بإمكانهم جعلها أجمل قليلاً).
الخطوة 2: رمز Cloudflare
ملفي الشخصي -> رموز API علامة التبويب-> قم بإنشاء رمز -> إنشاء رمز مخصص
هنا سوف تحتاج إلى قصر الرمز المميز على الحسابات والمناطق، ولكن اترك خيار التحرير للأذونات المدرجة في الصورة.
احفظ الرمز للمستقبل، سنحتاجه في الجزء الثالث.
الخطوة 3: الحصول على accountid وzoneid
نطاق → نبذة → [الشريط الجانبي الأيمن]
هذه ملكي، لا تستخدمها من فضلك :)
احفظهم بجوار الرمز، سنحتاجهم أيضًا في الجزء الثالث.
الخطوة 4: تفعيل العمال
نطاق → العمال → إدارة العمال
نختار اسمًا فريدًا وتعريفة العمال → غير محدود (5 دولارات شهريًا اليوم). إذا كنت ترغب في ذلك، يمكنك الترقية لاحقًا إلى الإصدار المجاني.
الجزء 3: النشر الأول (النشر اليدوي)
لقد قمت بأول عملية نشر يدوية لمعرفة ما يحدث بالفعل هناك. على الرغم من أن كل هذا يمكن القيام به بشكل أسهل:
تثبيت رانجلر: npm i @cloudflare/wrangler -g
دعنا نذهب إلى دليل مدونتنا: cd blog.example.com
إطلاق رانجلر: wrangler init — site hugo-worker
قم بإنشاء تكوين لـ wrangler (أدخل الرمز المميز عند سؤالك): wrangler config
الآن دعونا نحاول إجراء تغييرات على الملف الذي تم إنشاؤه حديثًا رانجلر (هنا القائمة الكاملة للإعدادات الممكنة):
حدد accountid وzoneid
نحن نتغير الطريق إلى شيء مثل *blog.example.com/*
حددزائفإلى com.workersdev
قم بتغيير الدلو إلى ./public (أو حيث يقع موقعك الثابت)
إذا كان لديك أكثر من مجال واحد في المسار، فيجب عليك تصحيح المسار في البرنامج النصي العامل: موقع العمال/index.js (انظر الوظيفة HandleEvent)
رائع، لقد حان الوقت لنشر الموقع باستخدام الفريقwrangler publish.
الجزء 4: أتمتة النشر
تمت كتابة هذا الدليل خصيصًا لـ Gitlab، لكنه يجسد جوهر النشر الآلي وسهولة النشر بشكل عام.
الخطوة 1: إنشاء وتكوين مشروعنا
قم بإنشاء مشروع GitLab جديد وقم بتحميل الموقع: الدليل blog.example.com مع كافة المحتويات يجب أن تكون موجودة في الدليل الجذر للمشروع
وضعناعامل كفابيتوكين هنا: الإعدادات → CI / CD → المتغيرات
الخطوة 2: قم بإنشاء ملف .gitlab-ci.yml وقم بتشغيل النشر الأول
قم بإنشاء ملف .gitlab-ci.yml في الجذر بالمحتوى التالي:
stages:
- build
- deploy
build:
image: monachus/hugo
stage: build
variables:
GIT_SUBMODULE_STRATEGY: recursive
script:
- cd blog.example.com/
- hugo
artifacts:
paths:
- blog.example.com/public
only:
- master # this job will affect only the 'master' branch
tags:
- gitlab-org-docker #
deploy:
image: timbru31/ruby-node:2.3
stage: deploy
script:
- wget https://github.com/cloudflare/wrangler/releases/download/v1.8.4/wrangler-v1.8.4-x86_64-unknown-linux-musl.tar.gz
- tar xvzf wrangler-v1.8.4-x86_64-unknown-linux-musl.tar.gz
- cd blog.example.com/
- ../dist/wrangler publish
artifacts:
paths:
- blog.example.com/public
only:
- master # this job will affect only the 'master' branch
tags:
- gitlab-org-docker #
نطلق عملية النشر الأولى يدويًا (CI / قرص مضغوط → خطوط الأنابيب → تشغيل خط الأنابيب) أو عن طريق الالتزام بالفرع الرئيسي. هاهو!
اختتام
حسنًا، ربما قللتُ من أهمية الأمر قليلًا، واستغرقت العملية برمتها ما يزيد قليلاً عن عشر دقائق. ولكن لديك الآن موقع سريع يتميز بالنشر التلقائي وبعض الأفكار الجديدة حول ما يمكنك فعله باستخدام العمال.