Πώς να δημιουργήσετε έναν στατικό ιστότοπο σε ιστότοπους Cloudflare Workers

Γειά σου! Ονομάζομαι Dima, είμαι τεχνικός επικεφαλής για την ομάδα SysOps στο Wrike. Σε αυτό το άρθρο θα σας πω πώς να φτιάξετε έναν ιστότοπο όσο το δυνατόν πιο κοντά στον χρήστη σε 10 λεπτά και 5 δολάρια το μήνα και να αυτοματοποιήσετε την ανάπτυξή του. Το άρθρο δεν έχει σχεδόν καμία σχέση με τα προβλήματα που λύνουμε μέσα στην ομάδα μας. Αυτή είναι μάλλον η προσωπική μου εμπειρία και εντυπώσεις από τη γνωριμία με μια νέα τεχνολογία για μένα. Προσπάθησα να περιγράψω τα βήματα με όσο το δυνατόν περισσότερες λεπτομέρειες, ώστε οι οδηγίες να είναι χρήσιμες για άτομα με διαφορετική εμπειρία. Ελπίζω να απολαύσετε. Πηγαίνω!

Πώς να δημιουργήσετε έναν στατικό ιστότοπο σε ιστότοπους Cloudflare Workers

Έτσι, ίσως έχετε ήδη βρει έναν απλό και φθηνό τρόπο να φιλοξενήσετε έναν ιστότοπο. Ίσως ακόμη και δωρεάν, όπως περιγράφεται σε αυτό υπέροχο άρθρο.

Αλλά ξαφνικά βαριέσαι ακόμα και θέλεις να αγγίξεις τον γενναίο νέο κόσμο της τεχνολογίας; Ας υποθέσουμε ότι σκέφτεστε να αυτοματοποιήσετε την ανάπτυξη και θα θέλατε να επιταχύνετε τον ιστότοπό σας όσο το δυνατόν περισσότερο; Σε αυτό το άρθρο θα χρησιμοποιήσουμε Hugo, αλλά αυτό είναι προαιρετικό.

Χρησιμοποιούμε το Gitlab CI/CD για αυτοματισμό, αλλά τι γίνεται με την επιτάχυνση; Ας αναπτύξουμε τον ιστότοπο απευθείας στο Cloudflare χρησιμοποιώντας Τοποθεσίες Εργαζομένων.

Τι απαιτείται για να ξεκινήσει:

Μέρος 1: Εγκατάσταση του Hugo

Εάν έχετε ήδη εγκαταστήσει το Hugo ή εάν προτιμάτε μια διαφορετική δημιουργία στατικών τοποθεσιών (ή δεν χρησιμοποιείτε καθόλου), τότε μπορείτε να παραλείψετε αυτό το μέρος.

  1. Κατεβάστε το Hugo από https://github.com/gohugoio/hugo/releases

  2. Τοποθετούμε το εκτελέσιμο αρχείο Hugo σύμφωνα με ένα από αυτά που ορίζονται στο PATH τρόπους

  3. Δημιουργία νέου ιστότοπου: hugo new site blog.example.com

  4. Αλλάξτε τον τρέχοντα κατάλογο στον νέο κατάλογο: cd blog.example.com

  5. Επιλέξτε ένα θέμα σχεδίασης (https://github.com/budparr/gohugo-theme-ananke/releases ή οτιδήποτε)

  6. Ας δημιουργήσουμε την πρώτη ανάρτηση: hugo new posts/my-amazing-post.md

  7. Προσθέστε περιεχόμενο στο αρχείο που δημιουργήθηκε: content/posts/my-amazing-post.md.
    Όταν ολοκληρωθούν όλα, αλλάξτε την πρόχειρη τιμή σε ψευδής

  8. Δημιουργία στατικών αρχείων: hugo -D

Τώρα η στατική τοποθεσία μας βρίσκεται μέσα σε έναν κατάλογο ./δημόσιο και έτοιμο για την πρώτη σας χειροκίνητη ανάπτυξη.

Μέρος 2: Ρύθμιση του Cloudflare

Τώρα ας δούμε την αρχική ρύθμιση του Cloudflare. Ας υποθέσουμε ότι έχουμε ήδη έναν τομέα για τον ιστότοπο. Ας πάρουμε ως παράδειγμα blog.example.com.

Βήμα 1: Δημιουργήστε μια καταχώρηση DNS

Πρώτα, επιλέξτε τον τομέα μας και μετά το στοιχείο μενού DNS. Δημιουργούμε ένα blog A-record και υποδεικνύουμε κάποια πλασματική IP για αυτό (αυτή είναι η επίσημη σύσταση, αλλά θα μπορούσαν να το είχαν κάνει λίγο πιο όμορφο).

Πώς να δημιουργήσετε έναν στατικό ιστότοπο σε ιστότοπους Cloudflare Workers

Βήμα 2: Token Cloudflare

  1. Το προφίλ μου -> Tokens API καρτέλα-> Δημιουργία διακριτικού -> Δημιουργία προσαρμοσμένου διακριτικού

Πώς να δημιουργήσετε έναν στατικό ιστότοπο σε ιστότοπους Cloudflare Workers

Εδώ θα χρειαστεί να περιορίσετε το διακριτικό σε λογαριασμούς και ζώνες, αλλά αφήστε την επιλογή Επεξεργασία για τα δικαιώματα που αναφέρονται στην εικόνα.

Αποθηκεύστε το token για το μέλλον, θα το χρειαστούμε στο τρίτο μέρος.

Βήμα 3: Λάβετε accountid και zoneid

Domain Επισκόπηση → [δεξιά πλαϊνή γραμμή]

Πώς να δημιουργήσετε έναν στατικό ιστότοπο σε ιστότοπους Cloudflare WorkersΑυτά είναι δικά μου, μην τα χρησιμοποιείτε παρακαλώ :)

Αποθηκεύστε τα δίπλα στο token, θα τα χρειαστούμε και στο τρίτο μέρος.

Βήμα 4: Ενεργοποίηση Εργαζομένων

Domain Οι εργαζόμενοι Διαχείριση εργαζομένων

Επιλέγουμε μοναδικό όνομα και τιμολόγιο Workers → Unlimited (5$ το μήνα σήμερα). Εάν θέλετε, μπορείτε αργότερα να κάνετε αναβάθμιση στη δωρεάν έκδοση.

Μέρος 3: Πρώτη ανάπτυξη (χειροκίνητη ανάπτυξη)

Έκανα την πρώτη χειροκίνητη ανάπτυξη για να μάθω τι πραγματικά συνέβαινε εκεί. Αν και όλα αυτά μπορούν να γίνουν πιο απλά:

  1. Εγκαταστήστε το wrangler: npm i @cloudflare/wrangler -g

  2. Ας πάμε στον κατάλογο του ιστολογίου μας: cd blog.example.com

  3. Launch wrangler: wrangler init — site hugo-worker

  4. Δημιουργήστε μια διαμόρφωση για wrangler (εισαγάγετε το διακριτικό όταν σας ζητηθεί): wrangler config

Τώρα ας προσπαθήσουμε να κάνουμε αλλαγές στο νέο αρχείο τσακωτός.toml (εδώ πλήρης λίστα πιθανών ρυθμίσεων):

  1. Προσδιορίζω λογιστική και ζώνη

  2. Αλλάζουμε Διαδρομή σε κάτι σαν *blog.example.com/*

  3. Προσδιορίζω ψευδής για Workerdev

  4. Αλλάξτε τον κάδο σε ./public (ή πού βρίσκεται ο στατικός ιστότοπός σας)

  5. Εάν έχετε περισσότερους από έναν τομείς στη διαδρομή, τότε θα πρέπει να διορθώσετε τη διαδρομή στο σενάριο εργασίας: Workers-site/index.js (βλέπε λειτουργία handleEvent)

Τέλεια, ήρθε η ώρα να αναπτύξετε τον ιστότοπο χρησιμοποιώντας την ομάδα wrangler publish.

Μέρος 4: Αυτοματοποίηση ανάπτυξης

Αυτός ο οδηγός είναι γραμμένος για το Gitlab, αλλά καταγράφει την ουσία και την ευκολία της αυτοματοποιημένης ανάπτυξης γενικά.

Βήμα 1: Δημιουργήστε και διαμορφώστε το έργο μας

  1. Δημιουργήστε ένα νέο έργο GitLab και ανεβάστε τον κατάλογο site: blog.example.com με όλα τα περιεχόμενα πρέπει να βρίσκεται στον ριζικό κατάλογο του έργου

  2. Ρυθμίσαμε μεταβλητός CFAPITOKEN εδώ: ρυθμίσεις 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/CD Αγωγοί Run Pipeline) ή με τη δέσμευση στον κύριο κλάδο. Voila!

Συμπέρασμα

Λοιπόν, μπορεί να το υποτίμησα ελαφρώς, και η όλη διαδικασία κράτησε λίγο περισσότερο από δέκα λεπτά. Τώρα, όμως, έχετε έναν γρήγορο ιστότοπο με αυτόματη ανάπτυξη και μερικές φρέσκες ιδέες για το τι άλλο μπορείτε να κάνετε με το Workers.

 Cloudflare Workers    Hugo    GitLab Ci

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο