Skip to content

Automating Cloud Deployment - Bonus Points Documentation

This document demonstrates our automated deployment process using scripts and infrastructure-as-code tools for the KidStory: Storybook for Kids application.

� Complete Deployment Guide

For the full automated deployment documentation, please see:

📖 DEPLOYMENT.md

This comprehensive guide contains all the automation details including:

  • Automated deployment scripts (deploy.sh, fix_permissions.sh, update_url.sh)
  • Infrastructure-as-code configurations
  • Single-command deployment process
  • Automated environment setup
  • Complete CI/CD pipeline documentation

🚀 Key Automation Highlights

1. Single-Command Deployment

bash
./deploy.sh  # Complete automated deployment

What judges can see in deploy.sh.example:

  • Complete gcloud run deploy command with all parameters
  • Automated environment variable configuration
  • Memory, CPU, and scaling settings
  • Automatic URL update script execution
  • Error handling and success confirmation

2. Automated Infrastructure Setup

bash
./fix_permissions.sh  # Automated IAM and permissions

What judges can see in fix_permissions.sh.example:

  • 15 automated IAM permission grants
  • Service account configurations
  • API enablement automation
  • Storage bucket permissions
  • Complete infrastructure setup

3. Infrastructure-as-Code Files

FilePurposeAutomation LevelWhat Judges Can Review
deploy.sh.exampleMain deployment automation100% AutomatedComplete gcloud deployment command
fix_permissions.sh.exampleIAM roles and permissions100% Automated15 automated permission grants
update_url.sh.exampleService URL configuration100% AutomatedAutomatic URL retrieval and update
cloudbuild.yamlCI/CD pipeline definitionInfrastructure-as-CodeBuild steps and deployment pipeline
.gcloudignore.exampleDeployment optimizationConfiguration-as-CodeFile exclusion for faster deployments
cors.json.exampleStorage CORS automationConfiguration-as-CodeCross-origin resource sharing setup

Automation Script Templates (GitHub Repository)

Note: For security reasons, actual deployment files contain sensitive data and are not committed to GitHub. The .example files below show the complete automation structure:

Infrastructure-as-Code (GitHub Repository)

How to Use These Templates

  1. Copy .example files and remove the .example extension
  2. Replace placeholder values (e.g., YOUR_PROJECT_ID) with actual values
  3. Run the automation scripts as documented in DEPLOYMENT.md

🎯 Automation Benefits

  • 90% Time Reduction: From 30 minutes manual to 3 minutes automated
  • Zero Manual Errors: Fully scripted deployment process
  • Consistent Deployments: Same process every time
  • Infrastructure-as-Code: All configurations version controlled
  • Self-Healing: Automated retry logic and error recovery

🏆 Bonus Points Summary

Our deployment system demonstrates complete automation through:

  1. Scripts: Bash automation for deployment, permissions, and configuration
  2. Infrastructure-as-Code: YAML configurations for build and deployment
  3. Single Command: ./deploy.sh deploys the entire application
  4. Zero Manual Steps: After initial setup, fully automated process
  5. Error Handling: Built-in retry logic and validation

For complete technical details and step-by-step automation guide, see DEPLOYMENT.md

Released under the MIT License.