Dave Portfolio Site
This repository contains my portfolio website for class assignments.
Purpose
This project shows that I can:
- Build a static website with HTML, CSS, and JavaScript.
- Use GitHub for version control.
- Publish with GitHub Pages.
- Deploy with GitHub Actions.
Previous Assignment Steps (Initial Website + Pages)
- Created a public GitHub repository named
dave-portfolio-site.
- Prepared and verified project files (
index.html, project pages, CSS, JS).
- Uploaded files to GitHub and committed changes.
- Enabled GitHub Pages in repository settings.
- Verified the live site URL.
Current Assignment Steps (GitHub Actions Deployment)
- Created
.github/workflows/deploy.yml.
- Added GitHub’s official Pages actions:
actions/checkout@v4
actions/configure-pages@v5
actions/upload-pages-artifact@v3
actions/deploy-pages@v4
- Set workflow triggers:
- Push to
main
- Manual run with
workflow_dispatch
- Set required permissions:
contents: read
pages: write
id-token: write
- Set concurrency group
pages with cancel-in-progress: false.
- Set upload path to
./dave-portfolio-site so only website files are published.
- In Settings → Pages, set Source to GitHub Actions.
How to Trigger Deployment
- Automatic: Push to
main.
- Manual: Actions tab → Deploy static content to Pages → Run workflow.
Validation Checklist
- Commit and push changes.
- Confirm workflow success in the Actions tab.
- Open the GitHub Pages URL and verify updates.
Challenges and Fixes
- Branch mismatch (
master vs main) → Set workflow trigger to main.
- Avoid publishing non-site files → Upload only
./dave-portfolio-site.
- Pages source not in code → Set it in GitHub UI under Settings → Pages.
Live Website
https://bpdrogon1988.github.io/dave-portfolio-site/
Run Locally with Docker
- Build image:
docker build -t dave-portfolio-site .
- Run container:
docker run --rm -p 8080:80 dave-portfolio-site
- Open:
http://localhost:8080
Run Locally with Docker Compose
- Start:
docker compose up --build
- Open:
http://localhost:8080
- Optional check:
curl -I http://localhost:8080