Bonjour ! Je m'appelle Dima, je suis le responsable de l'équipe SysOps chez Wrike. Dans cet article, je vais vous montrer comment, en 10 minutes et pour 5 dollars par mois, créer un site web aussi proche que possible des utilisateurs et automatiser son déploiement. L'article est presque sans rapport avec les problÚmes que nous résolvons au sein de notre équipe. Il s'agit plutÎt de mon expérience personnelle et de mes impressions de découverte d'une technologie qui m'était jusqu'alors inconnue. J'ai essayé de décrire les étapes aussi en détail que possible pour que le guide soit utile aux personnes de différents niveaux d'expérience. J'espÚre que cela vous plaira. Allons-y !

Donc, vous avez peut-ĂȘtre dĂ©jĂ trouvĂ© un moyen simple et peu coĂ»teux d'hĂ©berger votre site web. Peut-ĂȘtre mĂȘme gratuit, comme dĂ©crit dans cet.
Mais peut-ĂȘtre que vous vous ennuyez quand mĂȘme et que vous souhaitez explorer ce formidable nouveau monde technologique ? Par exemple, pensez-vous Ă l'automatisation du dĂ©ploiement et aimeriez-vous maximiser la rapiditĂ© de votre site ? Dans cet article, nous utiliserons, mais ce n'est pas obligatoire.
Pour l'automatisation, nous utilisons Gitlab CI/CD, mais que faire pour améliorer la vitesse ? Déployons le site directement sur Cloudflare à l'aide de.
Ce dont vous avez besoin pour commencer:
Gitlab (le vĂŽtre ou )
sur Cloudflare
Node.js/NPM installé
Si vous avez déjà installé Hugo ou si vous préférez un autre générateur de sites statiques (ou si vous n'en utilisez pas du tout), vous pouvez passer cette partie.
Téléchargez Hugo depuis
Placez le fichier exécutable Hugo dans l'un des chemins spécifiés dans
votre systÚme Créez un nouveau site :
hugo new site blog.example.com
Changez le répertoire courant vers celui nouvellement créé :cd blog.example.com
Choisissez un thÚme (ou n'importe quoi d'autre) Créez votre premier article :
hugo new posts/my-amazing-post.md
Ajoutez du contenu dans le fichier créé :content/posts/my-amazing-post.md Une fois tout cela fait, changez la valeur de draft sur.
Générez les fichiers statiques : fauxhugo -D
Maintenant, notre site statique se trouve dans le répertoire
./public et est prĂȘt pour le premier dĂ©ploiement manuel. Partie 2 : Configurer Cloudflare
Maintenant, examinons la configuration initiale de Cloudflare. Supposons que nous avons déjà un domaine pour le site. Prenons l'exemple de
blog.example.com. Ătape 1 : CrĂ©er un enregistrement DNS
Tout d'abord, sélectionnez notre domaine, puis l'option du menu
. Créez un enregistrement A pour blog et indiquez-lui une adresse IP fictive (c'est une recommandation officielle DNS, mais ils auraient pu faire quelque chose de plus joli)., mais ils pourraient le rendre un peu plus joli).

Ătape 2 : Jeton Cloudflare
Mon profil -> Jetons API onglet-> Créer un jeton -> Créer un jeton personnalisé

Ici, vous devrez restreindre le jeton aux comptes et zones, tout en laissant la possibilité de modifier pour les autorisations illustrées sur l'image.
Enregistrez le jeton pour le futur, nous en aurons besoin dans la troisiĂšme partie.
Ătape 3 : Obtenez accountid et zoneid
Domaine â Vue d'ensemble â [panneau latĂ©ral droit]
Ce sont mes jetons, ne les utilisez pas, s'il vous plaĂźt đ
Conservez-les avec le jeton, ils seront également nécessaires dans la troisiÚme partie.
Ătape 4 : Activation des Workers
Domaine â Workers â GĂ©rer les Workers
Choisissez un nom unique et un tarif Workers â IllimitĂ© (5 $ par mois actuellement). Vous pourrez passer Ă la version gratuite plus tard si vous le souhaitez.
Partie 3 : Premier déploiement (déploiement manuel)
J'ai fait le premier dĂ©ploiement manuellement pour comprendre ce qui se passe rĂ©ellement. Bien que cela puisse ĂȘtre fait plus simplement :
Installons wrangler :
npm i @cloudflare/wrangler -gAllons dans le répertoire de notre blog :
Choisissez un thÚme (Lançons wrangler :
wrangler init â site hugo-workerCrĂ©ons la configuration pour wrangler (entrez le jeton quand il vous le demande) :
wrangler config
Essayons maintenant d'apporter des modifications au fichier tout juste créé wrangler.toml ( liste complÚte des paramÚtres possibles :
Indiquons accountid et zoneid
Modifier route sur quelque chose comme *blog.example.com/*
Indiquons faux pour workersdev
Changeons le bucket en ./public (ou lĂ oĂč se trouve votre site statique)
Si vous avez plusieurs domaines en route, vous devrez corriger le chemin dans le script de travail : workers-site/index.js (voir la fonction handleEvent)
Super, il est temps de déployer le site avec la commande wrangler publish.
Partie 4 : Automatisation du déploiement
Cette instruction est rĂ©digĂ©e pour Gitlab, mais elle transmet lâessence et la facilitĂ© du dĂ©ploiement automatisĂ© en gĂ©nĂ©ral.
Ătape 1 : CrĂ©er et configurer notre projet
Créez un nouveau projet GitLab et téléchargez le site : le répertoire blog.example.com avec tout le contenu doit se trouver à la racine du projet
DĂ©finir variable CFAPITOKEN ici : Settings â CI/CD â Variables
Ătape 2 : CrĂ©er le fichier .gitlab-ci.yml et lancer le premier dĂ©ploiement
Créons le fichier .gitlab-ci.yml à la racine avec le contenu suivant :
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 # ce travail n'affectera que la branche 'master'
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 # ce travail n'affectera que la branche 'master'
tags:
- gitlab-org-docker #Lancement du premier dĂ©ploiement manuellement (CI / CD â Pipelines â Lancer le pipeline) ou en envoyant un commit dans la branche master. VoilĂ !
Conclusion
Eh bien, j'ai peut-ĂȘtre lĂ©gĂšrement sous-estimĂ©, et tout le processus a pris un peu plus de dix minutes. Mais maintenant, vous avez un site rapide avec dĂ©ploiement automatique et quelques idĂ©es nouvelles sur ce que vous pouvez encore faire avec Workers.
     Â
Source : habr.com
