Nap Menu



Github

LinkedIn

Instagram

Copyright © 2025

Deploy Simple With Cloud Run

2023-11-07  |  Technology  •  Cloud Run, Web Development, Google Cloud Platform

Deploy Simple With Cloud Run

Open API

Bertujuan untuk membuka API google ke cloud run.

gcloud services enable run.googleapis.com

Konfigurasi Aplikasi

Membuat Aplikasi Sederhana

Buat file dengan nama package.json :

{
  "name": "helloworld",
  "description": "Simple hello world sample in Node",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "Google LLC",
  "license": "Apache-2.0",
  "dependencies": {
    "express": "^4.17.1"
  }
}

Buat file dengan nama index.js :

const express = require('express')
const app = express()
const port = process.env.PORT || 8080

app.get('/', (req, res) => {
  const name = process.env.NAME || 'World'
  res.send(`Hello ${name}!`)
})

app.listen(port, () => {
  console.log(`helloworld: listening on port ${port}`)
})

Server akan berjalan di Port 8080 memakai Express JS.

Buat file dengan nama Dockerfile :

FROM node:12-slim

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install --only=production

COPY . ./

CMD [ "npm", "start" ]

Keterangan :

FROM node:12-slim : Menggunakan official lightweight Node.js 12 image

WORKDIR /usr/src/app : Membuat dan mengganti ke folder applikasi

COPY package*.json ./ : Memindahkan package.json ke container

RUN npm install --only=production : Perintah untuk Insallasi aplikasi

COPY . ./ : Memindahkan semua file di local ke container

CMD [ "npm", "start" ] : Perintah untuk menjalankan aplikasi

Deploy Container Image

gcloud builds submit --tag gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld

Kita membuild container image dan akan memberi tag atau nama dengan nama helloworld.

Lakukan pengecekan Artifact Registry :

gcloud container images list

Lakukan pengecekan autentikasi dan konfigurasi docker :

gcloud auth configure-docker

Lakukan testing di lokal untuk memastikan container dan container image sudah benar

docker run -d -p 8080:8080 gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld

Membuka di port 8080:8080

Deploy to Cloud Run

gcloud run deploy --image gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld --allow-unauthenticated --region=$LOCATION

Kalian bisa membuat location terlebih dahulu atau langsung mengetikannya nanti pada saat akan melakukan deployment. LOCATION="Region"

Menghapus Image dan Container

gcloud container images delete gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld
gcloud run services delete helloworld --region=$LOCATION

Selesai