如何使用Cloudflare Workers Sites创建静态网站

你好!我叫Dima,是Wrike SysOps团队的技术负责人。在本文中,我将告诉您如何使网站尽可能靠近用户,并在10分钟和每月5美元的费用下自动进行网站部署。本文几乎与我们团队内部解决的问题无关。相反,这是我的个人经验以及对新技术的熟悉印象。我试图尽可能详细地描述这些步骤,以便这些说明对具有不同经验的人很有用。我希望你会喜欢。走!

因此,您可能已经找到一种简单且便宜的方法来托管您的网站。如这篇出色的文章所述,甚至免费

? , ? Hugo, .

Gitlab CI/CD, ? Cloudflare Worker Sites.

:

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.

    , draft false

  8. : hugo -D

./public .

2: Cloudflare

Cloudflare. , . blog.example.com.

1: DNS

, DNS. A- blog - IP ( , - ).

2: Cloudflare

  1. My Profile -> API tokens tab-> Create Token -> Create Custom Token

,   Edit .

, .

3: accountid zoneid

Domain Overview → [ ]

这些是我的,请不要使用它们:-)
, , :-)

, .

4: Workers

Domain Workers Manage Workers

Workers → Unlimited ($5 ). .

3: ( )

, , . :

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

  2.   : cd blog.example.com

  3. wrangler: wrangler init — site hugo-worker

  4. wrangler ( , ): wrangler config

wrangler.toml ( ):

  1. accountid zoneid

  2. route - *blog.example.com/*

  3. false workersdev

  4. bucket ./public ( )

  5. , : workers-site/index.js (. handleEvent)

, wrangler publish.

4:

Gitlab, .

1:

  1. GitLab : blog.example.com

  2. CFAPITOKEN : Settings CI/CDVariables

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 Pipelines Run Pipeline) commit master. !

, , , . , Workers.

 Cloudflare Workers    Hugo    GitLab Ci




All Articles