This starter repository helps you quickly deploy your hackathon project using CircleCI with minimal configuration.
Goal: Get your project building and deploying with CircleCI! π
Get your project running in 5 minutes:
- Fork this repository to your GitHub account
- Sign up for CircleCI at https://circleci.com/signup/ and connect your GitHub account
- Follow your repository in CircleCI to enable the pipeline
- Push your code - CircleCI will automatically run tests
- Choose a deployment target (optional) - Uncomment one of the cloud deployment options in
.circleci/config.yml
Your first build should pass immediately with the default configuration!
- Flask Application (
app.py) - A simple "Hello World" app with health check endpoint - CircleCI Pipeline (
.circleci/config.yml) - Pre-configured to run tests automatically - Dockerfile - Ready for containerized deployments
- Test Suite - Basic validation that runs on every commit
Two easy deployment options in the main config (just uncomment!) and three advanced examples in the examples/ folder
scripts/setup.sh- Run this FIRST! Checks everything and tells you what to do nextscripts/validate.sh- Quick check: "Is my CircleCI config file valid?"
The default config just runs tests. Want to deploy? We have two options:
Open .circleci/config.yml and uncomment ONE deployment option:
Option 1: Google Cloud Run (Recommended - Free Tier)
- Best for hackathons with generous free tier
- Uses CircleCI Cloud Run orb for easy deployment
- Uncomment the
deploy-to-gcpjob and workflow section - Set env vars:
GCP_PROJECT_ID,GCP_REGION,GCLOUD_SERVICE_KEY
Option 2: AWS ECS (Container Service)
- Popular AWS container service with free tier
- Uncomment the
deploy-to-ecsjob and workflow section - Set env vars:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_ACCOUNT_ID,AWS_REGION,AWS_ECS_CLUSTER,AWS_ECS_SERVICE
- Go to https://app.circleci.com/projects
- Find your project and click the three dots (β―) next to it
- Select "Project Settings"
- Click "Environment Variables" in the left sidebar
- Click "Add Environment Variable"
- Enter the variable name (e.g.,
GCP_PROJECT_ID) and its value - Click "Add Variable"
- Repeat for all required variables
Important: Environment variables are secret - once added, you can't view their values again!
Before deploying, you need to set up your cloud provider:
Google Cloud Run (Recommended for Hackathons - Quick Setup):
- Create a GCP project at https://console.cloud.google.com/
- Enable APIs: Cloud Run API and Cloud Build API
- Create a service account with roles: "Cloud Run Admin" and "Cloud Build Editor"
- Download the JSON key file
- Base64 encode it:
cat key.json | base64 -w 0(Linux) orbase64 -i key.json(Mac) - Use the base64 string as your
GCLOUD_SERVICE_KEYin CircleCI
AWS ECS (Requires More Setup):
- Create an ECR repository named
hackathon-appin AWS Console - Create an ECS cluster (Fargate or EC2)
- Create a task definition for your app
- Create an ECS service using your task definition
- Find your AWS Account ID: AWS Console β Click your account name in top-right β Copy the 12-digit number
- Add all required environment variables to CircleCI
First time deploying to the cloud? We recommend Cloud Run - it has the quickest setup!
Then push to main and watch it deploy! π
For advanced deployments, copy jobs from examples/ folder into your config:
- Docker Hub -
examples/deploy-to-docker.yml- Simplest container registry - AWS EKS -
examples/deploy-to-aws-eks.yml- Kubernetes on AWS - Azure Container Instances -
examples/deploy-to-azure-container.yml- Azure containers
Each example file has instructions on how to copy it into your main config.
Need other services? Check CircleCI deployment docs.
How to know if deployment succeeded:
- Check CircleCI Dashboard: All jobs should be green β
- Check the logs:
- Cloud Run: Look for the service URL in the last line (e.g.,
https://hackathon-app-xyz.run.app) - AWS ECS: Look for "β ECS service updated" message
- Cloud Run: Look for the service URL in the last line (e.g.,
- Test your app: Visit the URL or check your cloud provider console
Troubleshooting:
- β Red build? Click on it to see error logs
- π Authentication errors? Double-check your environment variables
- β Need help? Visit the CircleCI booth!
Run the setup script to validate your configuration:
./scripts/setup.shOr use the quick validator:
./scripts/validate.shCircleCI automatically runs on:
- Every push to any branch
- Every pull request
To manually trigger a build:
- Go to your CircleCI dashboard
- Find your project
- Click "Trigger Pipeline"
- CircleCI Dashboard: https://app.circleci.com/pipelines/github/YOUR_USERNAME
- Add a badge to your README (see
SUBMISSION_TEMPLATE.md)
- Dates: October 21-22, 2025
- Location: General Prim, CDMX
- Mission Briefing: October 21 at 9:00 AM (5 minutes)
- Live Mentorship: October 21 mid-day in Playground 2 (2 sessions)
- Visit the CircleCI booth at General Prim
- Attend a mentorship session in Playground 2
- Check CircleCI Documentation: https://circleci.com/docs/
- Ask questions in the hackathon Slack channel
For your hackathon submission, show off your CircleCI integration:
- Add a CircleCI badge to your README (shows your build is passing!)
- Screenshot or link to your CircleCI pipeline
- Bonus: Tackle the optional mission - redesign part of the SDLC with AI + CircleCI
See SUBMISSION_TEMPLATE.md for ideas.
Prizes to be announced.
- Keep the same file structure or add your own
- Update
requirements.txtwith your dependencies - Update the test job in
.circleci/config.ymlto run your tests - Update the Dockerfile if needed for your application
You can add additional jobs to the CircleCI pipeline:
jobs:
lint:
docker:
- image: cimg/python:3.11
steps:
- checkout
- run: pip install flake8
- run: flake8 .Then add it to the workflow:
workflows:
build-and-test:
jobs:
- lint
- test:
requires:
- lint- CircleCI Documentation: https://circleci.com/docs/
- CircleCI Orbs Registry: https://circleci.com/developer/orbs
- Configuration Reference: https://circleci.com/docs/configuration-reference/
- Local CLI: https://circleci.com/docs/local-cli/
Get your CircleCI pipeline running, then build your project!
Optional Challenge Mission: "Redesign the SDLC with CircleCI" - Use AI + CircleCI to reimagine development workflows. Examples: AI code review, smart testing, automated docs, intelligent deployments.
Now go build something amazing! π