Ceci est la source de mon site Web personnel à https://parsiya.net.
Il est généré à l'aide de Hugo et du thème Hugo-Octopress. J'ai porté le thème classique Octopress sur Hugo.
hugo new post/2018-11-23-post-name/index.markdown
(ou index.md
).ctrl+shift+b
dans VS Code démarre une tâche qui exécute le serveur de surveillance Hugo et l'ouvre dans un navigateur. Voir .vscode/tasks.json.Le site Web est hébergé dans un compartiment AWS S3. CloudFront fournit CDN et TLS (et certificat). Les pages GitHub sont également populaires (et gratuites). Voir mon article de blog Déploiement automatique de sites Web avec des domaines personnalisés sur des pages GitHub.
J'utilise une action GitHub personnalisée. Voir déployer.yml.
J'ai utilisé s3deploy pour déployer le blog sur AWS. La configuration se trouve dans .s3deploy.yml. Cet exemple convient (avec quelques modifications) à la plupart des sites Web statiques.
Les ressources statiques (polices, images, CSS, etc.) n'ont pas de date d'expiration. Tout le reste utilise la compression gzip. Lorsqu'une ressource est mise à jour, s3deploy invalide son cache CloudFront.
Remarque : L'activation de gzip compression
pour les épreuves Keybase (voir static/keybase.txt) les interrompt.
Utilisez l'exemple de stratégie IAM de s3deploy. Au moment de la rédaction, AWS ne prend pas en charge l'adressage de distributions CloudFront distinctes avec des ARN (Amazon Resource Names), de sorte que la clé résultante peut répertorier et invalider toutes les distributions.
Le blog utilisait Travis CI. Voir @archive/.travis.yml.
language:minimal
réduit le temps de construction de 20 secondes (par rapport au conteneur par défaut).AWS_ACCESS_KEY
et AWS_SECRET_ACCESS_KEY
. Ceux-ci sont utilisés par s3deploy.Voir @archive/deploy.bat pour le déploiement manuel.