استقرار در Google Cloud Run با اقدامات Github: راهنمای گام به گام

Google Cloud Run چیست؟
Google Cloud Run یک پلت فرم کانتینری بدون سرور است که به توسعه دهندگان امکان می دهد برنامه ها را در یک محیط کاملاً مدیریت شده اجرا کنند. این به شما امکان می دهد کانتینرهای بدون حالت را به صورت پرداختی مستقر کنید و برنامه خود را بر اساس ترافیک ورودی به صورت خودکار مقیاس کنید.
Github Actions چیست؟
GitHub Actions یک ابزار قدرتمند اتوماسیون گردش کار است که به توسعه دهندگان اجازه می دهد گردش کار توسعه خود را خودکار کنند. این به خوبی با Google Cloud Run ادغام می شود و استقرار برنامه ها از GitHub به Cloud Run را آسان می کند.
در این مقاله، من یک برنامه وب کانتینری را در Google Cloud Run با استفاده از GitHub Actions مستقر خواهم کرد.
توجه: اگر می خواهید از Gitlab CI/CD به جای GitHub Actions استفاده کنید، به مقاله دیگر من مراجعه کنید. اینجا.
بیا ادامه بدهیم….
پیش نیازها
قبل از اینکه وارد آموزش شویم، مطمئن شوید که موارد زیر را دارید:
- یک حساب Google Cloud Platform
- یک حساب GitHub
- Docker روی دستگاه محلی شما نصب شده است
مرحله 1: پروژه خود را در Google Cloud تنظیم کنید
قبل از اینکه بتوانیم برنامه خود را در Google Cloud Run مستقر کنیم، باید یک پروژه جدید در Google Cloud Platform ایجاد کنیم و Cloud Run API را فعال کنیم. در اینجا نحوه انجام آن آمده است:
- به Google Cloud Console بروید.
- روی منوی کشویی پروژه کلیک کرده و “پروژه جدید” را انتخاب کنید.
- به پروژه خود یک نام بدهید و روی «ایجاد» کلیک کنید.
- پس از ایجاد پروژه، روی دکمه «فعال کردن پوسته ابری» در گوشه سمت راست بالای صفحه کلیک کنید.
- برای فعال کردن Cloud Run API دستور زیر را اجرا کنید:
gcloud services enable run.googleapis.com
یک راه جایگزین برای فعال کردن Cloud Run API
- به Google Cloud Console بروید و پروژه خود را انتخاب کنید.
- در منوی ناوبری سمت چپ، روی «APIs & Services» و سپس «داشبورد» کلیک کنید.
- روی دکمه “+ ENABLE APIS AND SERVICES” کلیک کنید.
- “Cloud Run API” را جستجو کنید و روی آن کلیک کنید.
- روی دکمه “فعال کردن” کلیک کنید.
مرحله 2: یک Dockerfile ایجاد کنید
در مرحله بعد، باید یک Dockerfile برای برنامه خود ایجاد کنیم. این فایل حاوی دستورالعمل هایی در مورد نحوه ساخت یک تصویر ظرف برای برنامه ما خواهد بود.
در اینجا یک نمونه Dockerfile برای یک برنامه Node.js آورده شده است:
\# Use the official Node.js image
FROM node:14-alpine
\# Set the working directory
WORKDIR /app
\# Copy the package.json and package-lock.json files
COPY package\*.json ./
\# Install the dependencies
RUN npm install --production
\# Copy the rest of the application code
COPY . .
\# Expose port 8080
EXPOSE 8080
\# Start the application
CMD \["npm", "start"\]
این فایل را در دایرکتوری اصلی پروژه خود ذخیره کنید.
مرحله 3: ظرف را به صورت محلی بسازید و آزمایش کنید
قبل از استقرار ظرف خود در Google Cloud Run، بیایید آن را به صورت محلی بسازیم و آزمایش کنیم. برای ساختن تصویر کانتینر دستور زیر را اجرا کنید:
docker build -t <your-image-name> .
جایگزین کردن <your-image-name>
با نامی برای تصویر ظرف شما. پس از اتمام ساخت، کانتینر را با دستور زیر اجرا کنید:
docker run -p 8080:8080 <your-image-name>
با این کار کانتینر شروع می شود و پورت 8080 را در دستگاه محلی شما به پورت 8080 داخل کانتینر نگاشت می کند. مرورگر وب خود را باز کنید و به http://localhost:8080
برای آزمایش برنامه شما
مرحله 4: اقدامات GitHub را تنظیم کنید
GitHub Actions یک ابزار قدرتمند است که به شما امکان می دهد گردش کار توسعه نرم افزار خود را خودکار کنید. در این مرحله، یک گردش کاری GitHub Actions برای ساخت و استقرار کانتینر خود در Google Cloud Run ایجاد می کنیم.
- در مخزن GitHub خود، بر روی زبانه “Actions” کلیک کنید.
- روی دکمه «تنظیم گردش کار خودتان» کلیک کنید.
- محتویات فایل را با کد زیر جایگزین کنید:
name: "Deploy to Google Cloud Run"
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Google Cloud SDK
uses: google-github-actions/setup-gcloud@master
with:
project\_id: <your-project-id>
service\_account\_key: ${{ secrets.GCP\_SA\_KEY }}
export\_default\_credentials: true
- name: Configure docker for GCP
run: gcloud auth configure-docker
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: gcr.io/<your-project-id>/<your-image-name>:latest
build-args: |
HTTP\_PORT=8080
- name: Deploy to Cloud Run
uses: google-github-actions/deploy-cloudrun@main
with:
image: gcr.io/<your-project-id>/<your-image-name>:latest
service: <your-service-name>
region: <your-region>
platform: managed
allow-unauthenticated: true
env\_vars: |
FOO=bar
ZIP=zap
جایگزین کردن <your-project-id>
، <your-image-name>
، <your-service-name>
، و <your-region>
با ارزش های خودت
در اینجا میتوانید اطلاعات بیشتری در مورد نحوه استفاده از اکشنهای google cloud run github ببینید.
4. روی دکمه Start commit کلیک کنید و تغییرات را در مخزن انجام دهید.
مرحله 5: در Google Cloud Run مستقر شوید
هنگامی که گردش کار GitHub Actions با موفقیت کامل شد، ظرف شما باید در Google Cloud Run مستقر شود. برای تأیید اینکه برنامه شما در حال اجرا است، به Google Cloud Console بروید، پروژه خود را انتخاب کنید و روی «Cloud Run» در نوار کناری کلیک کنید. شما باید خدمات خود را در آنجا فهرست کنید.
روی این سرویس کلیک کنید تا جزئیات آن، از جمله URL برنامه خود را مشاهده کنید. این URL را در مرورگر وب خود باز کنید تا برنامه مستقر شده خود را آزمایش کنید.
تبریک می گویم! شما با موفقیت یک برنامه وب کانتینری را با استفاده از GitHub Actions در Google Cloud Run اجرا کردید.
اگر این مقاله را دوست داشتید، لطفاً یک کف زدن یا حتی یک نظر بگذارید و فراموش نکنید که من را دنبال کنید تا زمانی که مقاله دیگری را منتشر می کنم، به روز شوید. با تشکر!