GitHub Pages Deployment
Write a simple GitHub Actions workflow to deploy a static website to GitHub Pages.
5 upvotes
10 upvotes
The goal of this project is to help you learn the notion of continuous integration and continuous deployment. You will write a simple GitHub Actions workflow to deploy a static website to GitHub Pages.
Requirements
You are required to write a GitHub action that deploys any changes made to the index.html file to GitHub Pages. It should only deploy the file when the index.html file is changed.
Here are the steps to get you started:
Create a GitHub repository for the project called
gh-deployment-workflowfor example.Repository should contain a simple
index.htmlfile saying "Hello, GitHub Actions!"It should also have a
README.mdfile explaining the project.There should also be a
deploy.ymlfile in the.github/workflowsdirectory which contains the GitHub Actions workflow to deploy the website to GitHub Pages.Every push to the
mainbranch that changes theindex.htmlfile should trigger the workflow to run and deploy the website to GitHub Pages.Website and any changes you make should be accessible at the GitHub pages URL for the repository e.g.
https://<username>.github.io/gh-deployment-workflow/.
Stretch goal: You can also make this project more practical e.g. use some sort of a static site generator such as Hugo, Jekyll, Astro or similar generator to create a more complex website e.g. your own personal portfolio.
After finishing this project, you will have a good understanding of the following concepts:
GitHub Actions
GitHub Pages
Continuous Integration and Continuous Deployment
Writing GitHub Actions workflows
Continue solving more projects for advanced CI/CD concepts.
