VS Code extension: auto CI/CD in GitHub Actions Modern cyber security tooling should empower developers
In this blog post, I explain why I chose to create my dev blog in a fully open source manner and all the advantages with this approach. I planned creating my own developer blog for a while but wasn't satisfied with the common setups normally chosen. As an engineer, I preferred to treat my blog as yet another software project and therefore had the following requirements:
Per the requirements I set, GitHub was a clear choice as my source code management. You can see the blog's repo here.
Nothing special to add here :)
There are lots of open source site generators, Gatsby and Hexo to name a few.
I eventually chose CodeDoc as the site generator for a few reasons:
CodeDoc's CLI has a codedoc serve
command that automatically monitors all the local files, converts the relevant Markdown files to html and updates the local server, so http://localhost:3000
always has the updated version.
This allows me to see how the final website looks like during "development" (adding more content).
This is exactly the purpose of GitHub Pages! I just configured my repository to publish my master branch as GitHub Pages and that was basically it. so simple and efficient!
I used GitHub Actions to call Semantic Release upon merge to master. If you are interested - here is the action configuration.
This automatically creates a GitHub release and a nice and clear release notes, according to my commit messages.
Feel free to see all of the blog's releases.
This open source approach supplies some decent advantages, here are a few:
This approach makes the website development cycle a regular software development cycle, making it super easy to maintain:
codedoc serve
-> I put it as my npm start
commandcodedoc build
-> I put it as my npm run build
commandI added Snyk's vulnerability test badge at the page header, so every viewer can see the security status of the blog:
I hope I made it clear why I chose to build this blog the way I did, feel free to reach out for any questions! This blog post will be followed by a more technical post about the CI/CD process of this blog.