DEV Community

Cover image for Deploying an App on Cloud Run with Terraform
Jay Sheth
Jay Sheth

Posted on • Updated on

Deploying an App on Cloud Run with Terraform

Prerequisite:

  1. GCP Account
  2. Install Google Cloud SDK
  3. Terraform Installed on Developer Desktop
  4. Python on Developer Desktop

In GCP Console:

  1. Create new Project named my-first-project on GCP console
    GCP Console
    GCP Console

  2. We will enable the following APIs for our project to work, run the below mentioned commands in Google Cloud CLI

  • Cloud Run
  • Artifact Registry
  • Cloud Build

    GCP commands

On Developer Desktop:

  1. Create a simple Flask Application
  • Create an app.py file

  • Create a Dockerfile

In GCP Console:

  1. Go to Artifact Registry
  2. Click on Create Repository Artifact Registry
  • Give name to repository ($REPO_NAME)
  • Select Docker in Format
  • Select Standard in Mode
  • Select Regional in Location Type
  • Select us-west1 in Region
  • Click on Create

On Developer Desktop

  1. In the folder where we created the Dockerfile; run the following commands
    Docker commands

  2. We will create Terraform project

  • Create terraform.tf for configuring the providers

  • Create main.tf containing the cloud run configuration

  • Create variable.tf containing the variables

  • Create data.tf containing the data

  • Create output.tf containing the output

  • Create terraform.tfvars containing the variable values

  • Now run the following commands in your terminal
    Terraform commands

Output

Flask application

Destroy Infrastructure

To destroy the infrastructure, run the following commands in your terminal
Terraform commands

πŸ‘‹πŸ‘‹BYEπŸ‘‹πŸ‘‹

Top comments (4)

Collapse
 
parth_sheth_5acb01208fb25 profile image
Parth Sheth

Very helpful and informative!

Collapse
 
sangya_lalwani_4346680c00 profile image
sangya lalwani

Crisp and perfect! Thanks for sharing this!

Collapse
 
amit_2343141ba488ca45ecd8 profile image
Amit

Gr8 content πŸ‘

Collapse
 
deepa_1354a18fde08d profile image
Deepa

Helpful for beginners πŸ’―