Como crear un sitio estático en Cloudflare Workers Sites

Ola! Chámome Dima, son responsable técnico do equipo SysOps de Wrike. Neste artigo vouche dicir como facer que un sitio web sexa o máis próximo posible ao usuario en 10 minutos e 5 dólares ao mes e automatizar a súa implantación. O artigo non ten case nada que ver cos problemas que resolvemos dentro do noso equipo. Esta é máis ben a miña experiencia persoal e impresións de coñecer unha tecnoloxía que é nova para min. Tentei describir os pasos co maior detalle posible para que as instrucións fosen útiles para persoas con experiencia diferente. Espero que o disfrutedes. Vaia!

Como crear un sitio estático en Cloudflare Workers Sites

Entón, quizais xa atopou unha forma sinxela e barata de aloxar un sitio web. Quizais incluso gratuíto, como se describe neste gran artigo.

Pero, de súpeto, aínda estás aburrido e queres tocar o novo mundo valente da tecnoloxía? Digamos que estás pensando en automatizar a implementación e queres acelerar o teu sitio o máximo posible? Neste artigo utilizaremos Hugo, pero isto é opcional.

Usamos Gitlab CI/CD para a automatización, pero que pasa coa aceleración? Implementemos o sitio directamente en Cloudflare usando Sitios de traballadores.

O que se require para comezar:

Parte 1: Instalación de Hugo

Se xa tes Hugo instalado, ou se prefires un xerador de sitios estáticos diferente (ou non utilizas un), podes omitir esta parte.

  1. Descargar Hugo de https://github.com/gohugoio/hugo/releases

  2. Colocamos o ficheiro executable de Hugo segundo un dos definidos en PATH formas

  3. Creando un novo sitio: hugo new site blog.example.com

  4. Cambia o directorio actual polo recén creado: cd blog.example.com

  5. Seleccione un tema de deseño (https://github.com/budparr/gohugo-theme-ananke/releases ou o que sexa)

  6. Imos crear a primeira publicación: hugo new posts/my-amazing-post.md

  7. Engade contido ao ficheiro creado: contido/publicacións/my-amazing-post.md.
    Cando todo estea feito, cambia o valor do borrador a teito

  8. Xeración de ficheiros estáticos: hugo -D

Agora o noso sitio estático está situado dentro dun directorio ./público e listo para a súa primeira implantación manual.

Parte 2: Configuración de Cloudflare

Agora vexamos a configuración inicial de Cloudflare. Supoñamos que xa temos un dominio para o sitio. Poñamos como exemplo blog.exemplo.com.

Paso 1: cree unha entrada DNS

Primeiro, selecciona o noso dominio e despois o elemento do menú DNS. Creamos un blog A-record e indicamos algunha IP ficticia para el (este é o oficial recomendación, pero poderían telo feito un pouco máis bonito).

Como crear un sitio estático en Cloudflare Workers Sites

Paso 2: token Cloudflare

  1. meu perfil -> Tokens API pestana-> Crear ficha -> Crear token personalizado

Como crear un sitio estático en Cloudflare Workers Sites

Aquí terás que limitar o token a contas e zonas, pero deixar a opción Editar para os permisos que aparecen na imaxe.

Garda o token para o futuro, necesitarémolo na terceira parte.

Paso 3: Obteña accountid e zoneid

Dominio visión global → [barra lateral dereita]

Como crear un sitio estático en Cloudflare Workers SitesEstes son meus, non os uses por favor :)

Gárdaos xunto á ficha, tamén os necesitaremos na terceira parte.

Paso 4: Activar os traballadores

Dominio Traballadores Xestionar traballadores

Escollemos un nome único e unha tarifa Traballadores → Ilimitado ($5 ao mes hoxe). Se o desexa, máis tarde pode actualizar á versión gratuíta.

Parte 3: primeira implantación (impregación manual)

Fixen o primeiro despregamento manual para descubrir o que realmente estaba a suceder alí. Aínda que todo isto pódese facer máis sinxelo:

  1. Instalar wrangler: npm i @cloudflare/wrangler -g

  2. Imos ao directorio do noso blog: cd blog.example.com

  3. Lanzamento de wrangler: wrangler init — site hugo-worker

  4. Crea unha configuración para wrangler (introduce o token cando se lle pregunte): wrangler config

Agora imos tentar facer cambios no ficheiro recén creado wrangler.toml (aquí lista completa de opcións posibles):

  1. Indicamos accountid e zoneid

  2. Cambio ruta a algo así como *blog.example.com/*

  3. Indicamos teito para traballadoresdev

  4. Cambiar o depósito a ./public (ou onde está o seu sitio estático)

  5. Se tes máis dun dominio no camiño, deberías corrixir o camiño no script de traballo: Workers-site/index.js (ver función handleEvent)

Xenial, é hora de implementar o sitio usando o equipo wrangler publish.

Parte 4: Automatización da implantación

Esta guía está escrita para Gitlab, pero recolle a esencia e a facilidade da implementación automatizada en xeral.

Paso 1: Crea e configura o noso proxecto

  1. Crea un novo proxecto de GitLab e carga o sitio: directorio blog.exemplo.com con todo o contido debe estar situado no directorio raíz do proxecto

  2. Fixemos variable CFAPITOKEN aquí: Configuración CI / CDVariables

Paso 2: cree un ficheiro .gitlab-ci.yml e execute a primeira implementación

Crear un ficheiro .gitlab-ci.yml na raíz co seguinte contido:

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 #

Lanzamos o primeiro despregamento manualmente (CI/CD Liñas de tubería Executar pipeline) ou comprometéndose coa rama mestra. Voila!

Conclusión

Ben, quizais o subestimase un pouco, e todo o proceso levou algo máis de dez minutos. Pero agora tes un sitio rápido con implementación automática e algunhas ideas novas sobre que máis podes facer con Workers.

 Traballadores de Cloudflare    Hugo    GitLab Ci

Fonte: www.habr.com

Engadir un comentario