{"id":31692493,"url":"https://github.com/tanyamushonga/aws-static-site-deploy","last_synced_at":"2026-05-14T23:14:36.050Z","repository":{"id":317428088,"uuid":"1067363298","full_name":"TanyaMushonga/aws-static-site-deploy","owner":"TanyaMushonga","description":"Static website deployment pipeline using GitHub Actions to S3 and CloudFront","archived":false,"fork":false,"pushed_at":"2025-09-30T20:45:51.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-30T21:15:51.055Z","etag":null,"topics":["automation","aws","cicd","devops","github-actions","https","s3","static-site","website-development"],"latest_commit_sha":null,"homepage":"https://tanyaradzwatmushonga.me","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TanyaMushonga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-30T18:49:13.000Z","updated_at":"2025-09-30T20:55:26.000Z","dependencies_parsed_at":"2025-09-30T21:28:51.430Z","dependency_job_id":null,"html_url":"https://github.com/TanyaMushonga/aws-static-site-deploy","commit_stats":null,"previous_names":["tanyamushonga/aws-static-site-deploy"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/TanyaMushonga/aws-static-site-deploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanyaMushonga%2Faws-static-site-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanyaMushonga%2Faws-static-site-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanyaMushonga%2Faws-static-site-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanyaMushonga%2Faws-static-site-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TanyaMushonga","download_url":"https://codeload.github.com/TanyaMushonga/aws-static-site-deploy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanyaMushonga%2Faws-static-site-deploy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278963832,"owners_count":26076542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","aws","cicd","devops","github-actions","https","s3","static-site","website-development"],"created_at":"2025-10-08T14:53:31.387Z","updated_at":"2025-10-08T14:53:38.185Z","avatar_url":"https://github.com/TanyaMushonga.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Static Site Deployment Guide\n\n[![Deploy to S3](https://github.com/TanyaMushonga/aws-static-site-deploy/actions/workflows/deploy.yml/badge.svg)](https://github.com/TanyaMushonga/aws-static-site-deploy/actions/workflows/deploy.yml)\n[![AWS](https://img.shields.io/badge/AWS-S3%20%2B%20CloudFront-orange?logo=amazon-aws)](https://aws.amazon.com/)\n[![Terraform](https://img.shields.io/badge/Infrastructure-Terraform-623CE4?logo=terraform)](https://github.com/TanyaMushonga/terraform-s3_and_cloudfront)\n[![HTML5](https://img.shields.io/badge/HTML5-E34F26?logo=html5\u0026logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/HTML)\n\n\u003e A comprehensive, production-ready guide for deploying static websites on AWS using S3 and CloudFront, complete with automated CI/CD pipeline and Infrastructure as Code.\n\n## What This Project Demonstrates\n\nThis repository showcases a complete **modern cloud deployment workflow** featuring:\n\n- **Comprehensive Documentation** - Detailed step-by-step deployment guide\n- **Infrastructure as Code** - Terraform-managed AWS resources\n- **Automated Deployment** - GitHub Actions CI/CD pipeline\n- **Global CDN Distribution** - CloudFront for worldwide performance\n- **Production Security** - SSL/TLS certificates and secure configurations\n- **Cost-Optimized** - Efficient resource usage and caching strategies\n\n---\n\n## Infrastructure Architecture\n\n```mermaid\ngraph TB\n    A[Developer] --\u003e|git push| B[GitHub Repository]\n    B --\u003e|trigger| C[GitHub Actions]\n    C --\u003e|deploy| D[S3 Bucket]\n    D --\u003e|origin| E[CloudFront CDN]\n    E --\u003e|serve| F[Global Users]\n\n    G[Terraform Repository] --\u003e|provisions| D\n    G --\u003e|provisions| E\n    G --\u003e|provisions| H[Namecheap DNS]\n    G --\u003e|provisions| I[SSL Certificate]\n\n    style A fill:#e1f5fe\n    style F fill:#e8f5e8\n    style G fill:#f3e5f5\n    style C fill:#fff3e0\n```\n\n## Live Deployment\n\nThis static site is **deployed live on AWS** and demonstrates:\n\n- **S3 Static Website Hosting** - Scalable, serverless hosting\n- **CloudFront CDN** - Global edge locations for fast content delivery\n- **Custom Error Pages** - Professional 404/403 error handling\n- **Automated Deployments** - Zero-downtime CI/CD pipeline\n- **Infrastructure Automation** - Terraform-managed resources\n\n### Infrastructure Provisioning\n\nThe AWS infrastructure for this project is fully automated using **Terraform**:\n\n**[terraform-s3_and_cloudfront](https://github.com/TanyaMushonga/terraform-s3_and_cloudfront)**\n\nThis companion repository provisions:\n\n- **S3 Bucket** with static website hosting configuration\n- **CloudFront Distribution** with global edge locations\n- **SSL/TLS Certificate** via AWS Certificate Manager\n- **Security Policies** and access controls\n- **Monitoring \u0026 Logging** setup\n\n---\n\n## Project Structure\n\n```\naws-static-site-deploy/\n├── index.html              # Main documentation page\n├── error.html               # Custom 404/error page\n├── README.md               # This comprehensive guide\n├── .github/\n│   └── workflows/\n│       └── deploy.yml      # Automated deployment pipeline\n└── docs/                      # Additional documentation\n```\n\n## What You'll Learn\n\n### Complete AWS Deployment Guide\n\n- Step-by-step S3 bucket configuration\n- CloudFront distribution setup\n- Custom domain and SSL configuration\n- Performance optimization techniques\n- Security best practices\n\n### DevOps Best Practices\n\n- Infrastructure as Code with Terraform\n- CI/CD pipeline with GitHub Actions\n- Automated testing and deployment\n- Monitoring and error handling\n\n### Professional Web Development\n\n- Responsive HTML5 design\n- Modern CSS styling techniques\n- Progressive enhancement\n- Accessibility considerations\n\n---\n\n## Quick Start\n\n### 1. Infrastructure Setup\n\nFirst, provision the AWS infrastructure using Terraform:\n\n```bash\n# Clone the infrastructure repository\ngit clone https://github.com/TanyaMushonga/terraform-s3_and_cloudfront.git\ncd terraform-s3_and_cloudfront\n\n# Initialize and apply Terraform\nterraform init\nterraform plan\nterraform apply\n```\n\n### 2. Deploy the Website\n\nClone this repository and set up the deployment:\n\n```bash\n# Clone this repository\ngit clone https://github.com/TanyaMushonga/aws-static-site-deploy.git\ncd aws-static-site-deploy\n\n# Configure GitHub Secrets (in repository settings)\nAWS_ACCESS_KEY_ID=your_access_key\nAWS_SECRET_ACCESS_KEY=your_secret_key\nAWS_DEFAULT_REGION=us-east-1\nS3_BUCKET=your-bucket-name\nCLOUDFRONT_DISTRIBUTION_ID=your-distribution-id\n```\n\n### 3. Automatic Deployment\n\nSimply push to the main branch to trigger automatic deployment:\n\n```bash\ngit add .\ngit commit -m \"Update website content\"\ngit push origin main\n```\n\nThe GitHub Actions workflow will automatically:\n\n- Deploy HTML files to S3\n- Invalidate CloudFront cache\n- Ensure zero-downtime deployment\n\n---\n\n## Technology Stack\n\n| Component           | Technology              | Purpose                         |\n| ------------------- | ----------------------- | ------------------------------- |\n| **Frontend**        | HTML5, CSS3, JavaScript | Static website content          |\n| **Hosting**         | AWS S3                  | Scalable static website hosting |\n| **CDN**             | AWS CloudFront          | Global content delivery         |\n| **DNS**             | Namecheap               | Domain management               |\n| **SSL**             | AWS Certificate Manager | HTTPS encryption                |\n| **Infrastructure**  | Terraform               | Infrastructure as Code          |\n| **CI/CD**           | GitHub Actions          | Automated deployment            |\n| **Version Control** | Git/GitHub              | Source code management          |\n\n---\n\n## Features Showcase\n\n### Professional Design\n\n- Modern, responsive layout\n- AWS branding and color scheme\n- Mobile-first design approach\n- Accessibility compliant\n\n### Advanced Functionality\n\n- Interactive troubleshooting guides\n- Copy-paste AWS CLI commands\n- Real-time deployment status\n- Comprehensive error handling\n\n### Performance Optimized\n\n- Optimized images and assets\n- Minified CSS and JavaScript\n- CloudFront caching strategies\n- Fast global content delivery\n\n### Security Focused\n\n- HTTPS enforcement\n- Security headers implementation\n- Access control policies\n- Vulnerability best practices\n\n---\n\n## Deployment Pipeline\n\nOur automated deployment process ensures:\n\n1. **Code Quality** - Automated checks and validation\n2. **Fast Deployment** - Only HTML files are synced\n3. **Global Distribution** - CloudFront cache invalidation\n4. **Monitoring** - Real-time deployment status\n5. **Zero Downtime** - Seamless content updates\n\n---\n\n## Use Cases\n\nThis project is perfect for:\n\n- **Documentation Sites** - Technical guides and tutorials\n- **Company Websites** - Corporate landing pages\n- **Portfolio Sites** - Professional portfolios\n- **Marketing Pages** - Product landing pages\n- **Blogs** - Static blog sites\n- **Educational Content** - Learning resources\n\n---\n\n## Contributing\n\nWe welcome contributions! Here's how you can help:\n\n1. **Fork the repository**\n2. **Create a feature branch** (`git checkout -b feature/amazing-feature`)\n3. **Commit your changes** (`git commit -m 'Add amazing feature'`)\n4. **Push to the branch** (`git push origin feature/amazing-feature`)\n5. **Open a Pull Request**\n\n---\n\n## Related Resources\n\n### Infrastructure Repository\n\n- **[terraform-s3_and_cloudfront](https://github.com/TanyaMushonga/terraform-s3_and_cloudfront)** - Complete Terraform infrastructure code\n\n### Documentation \u0026 Guides\n\n- [AWS S3 Static Website Hosting](https://docs.aws.amazon.com/s3/latest/userguide/WebsiteHosting.html)\n- [AWS CloudFront Developer Guide](https://docs.aws.amazon.com/cloudfront/latest/DeveloperGuide/)\n- [Terraform AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)\n- [GitHub Actions Documentation](https://docs.github.com/en/actions)\n\n### Tools \u0026 Services\n\n- [AWS CLI](https://aws.amazon.com/cli/)\n- [Terraform](https://www.terraform.io/)\n- [GitHub Actions](https://github.com/features/actions)\n\n---\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## Author\n\n**Tanya Mushonga**\n\n- GitHub: [@TanyaMushonga](https://github.com/TanyaMushonga)\n- LinkedIn: [Connect with me](https://www.linkedin.com/in/tanyaradzwa-t-mushonga-b23745209/)\n- Portfolio: [tanyaradzwatmushonga.me](https://tanyaradzwatmushonga.me)\n\n---\n\n## Acknowledgments\n\n- AWS for providing excellent cloud infrastructure\n- Terraform for Infrastructure as Code capabilities\n- GitHub for hosting and CI/CD platform\n- The open-source community for inspiration and best practices\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Star this repository if you found it helpful!**\n\n[![Stars](https://img.shields.io/github/stars/TanyaMushonga/aws-static-site-deploy?style=social)](https://github.com/TanyaMushonga/aws-static-site-deploy/stargazers)\n[![Forks](https://img.shields.io/github/forks/TanyaMushonga/aws-static-site-deploy?style=social)](https://github.com/TanyaMushonga/aws-static-site-deploy/network/members)\n\n_Built with ❤️ for the developer community_\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanyamushonga%2Faws-static-site-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftanyamushonga%2Faws-static-site-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanyamushonga%2Faws-static-site-deploy/lists"}