Skip to content

Commit

Permalink
Add note about CI/CD
Browse files Browse the repository at this point in the history
  • Loading branch information
danielstocks committed Feb 15, 2020
1 parent f55e749 commit 9808716
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 3 deletions.
37 changes: 36 additions & 1 deletion README.md
@@ -1 +1,36 @@
https://webcloud.se/blog/2020-02-02-personal-website-2020-tech-stack/
# webcloud

This is the source code for my personal website, blog & playground.
You can read about what/why/how/where the site was built in [this blog post](https://webcloud.se/blog/2020-02-02-personal-website-2020-tech-stack/)

## TLDR

Here's a shortlist of tools, libraries and services used to build this website.

### Development

- [ESLint](https://eslint.org/) and [Prettier](https://prettier.io/)
- [React](https://reactjs.org/) - Server side only (SSR)
- [Next.js](https://nextjs.org/) - Static site generation (SSG)
- [MDX](https://mdxjs.com/) - Markdown + JSX
- [date-fns](https://date-fns.org/) - JavaScript date utility library
- [Fela](http://fela.js.org/) - State-driven atomic CSS styling in JavaScript
- [UglifyJS](http://lisperator.net/uglifyjs/) - Minifier for client-side ES5 vanilla JavaScript code
- [Prism](https://prismjs.com/) & [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer) - Syntax highlighting for code examples


### CI/CD

- [GitHub Actions](https://github.com/features/actions) - CI Workflows & Runners
- [Lighthouse CI](https://github.com/GoogleChrome/lighthouse-ci) - Web Performance & QA testing
- [Percy](https://percy.io/) - Visual regression testing


### Deployment

- [Zeit Now](https://zeit.co/home) - Zero config static site deployments, reverse proxy & CDN


### Misc

- [Simple Analytics](https://simpleanalytics.com/) - Like Google Analytics, but simple
15 changes: 13 additions & 2 deletions pages/blog/2020-02-02-personal-website-2020-tech-stack.md
Expand Up @@ -59,7 +59,7 @@ This essentially means that you can inline exactly the CSS needed to render a sp

Turns out [Facebook is doing something similar](https://twitter.com/adamwathan/status/1123705771995410432?s=12) to this. Disclaimer: while conceptually similar, I'm not convinced by the so called Utility First CSS frameworks like [Tailwind](https://tailwindcss.com/) or [Tachyons](http://tachyons.io/). Why learn a new abstraction when I already know CSS?

### Theming
### Welcome to the dark side

One thing I wanted for the new site was to let the user pick a preferred color scheme. A light mode or a dark mode (yes I know this is old news). But how could that be done with pre-rendered static HTML pages, no React on the client, and no back-end?

Expand Down Expand Up @@ -105,6 +105,12 @@ One really powerful concept that most static site hosting providers now offer ou
}
```

## CI/CD

One really cool thing with Zeit Now is that you get **preview deploys** out of the box. Open a pull request and the changes will be deployed in a production like environment.

I was able to leverage GitHub Actions to run Lighthouse Performance and QA tests, as well as Percy visual regression tests against previews deploys in pull requests. This gives me A LOT of confidence that I wont merge anything that will degrade the quality of the site.


## Long term maintenance

Expand All @@ -115,7 +121,12 @@ Looking back at the old site: The main pain point throughout the years was fixin

## In summary

Are you wondering how all of this looks ties together? Have a look at the [Git source repository](https://github.com/danielstocks/webcloud/) that powers this site.
The quality and variety of **free** tools, libraries and services available today is absolutely amazing.
I truly feel more empowered then ever when it comes to shipping a website in a limited time frame with no budget.

I've been building websites for a relatively long time now (I started out with Microsoft FrontPage and Macromedia Dreamweaver). When I rebuilt my website 6-7 years ago, it was either all manual labour, or spending both time and money on setting up custom infrastructure.

Are you wondering how all of this looks ties together? Have a look at the [GitHub repository](https://github.com/danielstocks/webcloud/) that powers this site.

I'm looking forward to rebuild my site again 2030! So long folks!

1 comment on commit 9808716

@vercel
Copy link

@vercel vercel bot commented on 9808716 Feb 15, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.