This is my portfolio website. It lists all the projects, professional experience and volunteering work that I have done.
This website was my introduction to Svelte, along with more in-depth CI/CD pipelines via GitHub Actions and Cloudflare Pages.
See here for a container form of this website. It uses Vite's preview command as a server for the assets.
To deploy with Docker Compose, you can either use the compose.yml file provided in the repository (which will build on-demand), or use the following (which will always use a stable release):
services:
container_name: jackgledhill.com
image: ghcr.io/jack-gledhill/jackgledhill.com:latest
ports:
- "4173:4173"
restart: unless-stoppedThis site is written in Svelte and built with SvelteKit. SvelteKit has been configured to do all rendering at build-time so that the website can be served with static-site hosts like Cloudflare Workers and GitHub Pages.
You can run a live version of the codebase with the following commands, assuming you have npm and Node.js v23 installed on your machine:
npm install
npm run devIf you wish to contribute to the project, please fork the repository and submit a Pull Request with your changes.
I've used this repository as a good excuse to dip my feet into CI/CD pipelines. Currently, the following are in place:
- Publishing a release will build and deploy the
mainbranch to production via GitHub Pages - Every commit to the
mainbranch will be pushed to a public staging website via Cloudflare Pages - Every Pull Request will be published to a staging website via Cloudflare Pages (please see each individual PR for the URL)
- New releases will trigger a Docker image to be published to
latest - A Docker image is built for every tag with that tag's name
- Every push will have a Docker image generated, using that commit's hash as the tag
- Each branch will have a Docker image with the tag equal to the branch name, using the latest commit to that branch
- Dependabot will watch for potential dependency updates and automatically make Pull Requests when updates are found
- Dependabot will report potential security vulnerabilities in dependencies to contributors