برنامه نویسی

استقرار در 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 را فعال کنیم. در اینجا نحوه انجام آن آمده است:

  1. به Google Cloud Console بروید.
  2. روی منوی کشویی پروژه کلیک کرده و “پروژه جدید” را انتخاب کنید.
  3. به پروژه خود یک نام بدهید و روی «ایجاد» کلیک کنید.
  4. پس از ایجاد پروژه، روی دکمه «فعال کردن پوسته ابری» در گوشه سمت راست بالای صفحه کلیک کنید.
  5. برای فعال کردن Cloud Run API دستور زیر را اجرا کنید:
gcloud services enable run.googleapis.com
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک راه جایگزین برای فعال کردن Cloud Run API

  1. به Google Cloud Console بروید و پروژه خود را انتخاب کنید.
  2. در منوی ناوبری سمت چپ، روی «APIs & Services» و سپس «داشبورد» کلیک کنید.
  3. روی دکمه “+ ENABLE APIS AND SERVICES” کلیک کنید.
  4. “Cloud Run API” را جستجو کنید و روی آن کلیک کنید.
  5. روی دکمه “فعال کردن” کلیک کنید.

مرحله 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 ایجاد می کنیم.

  1. در مخزن GitHub خود، بر روی زبانه “Actions” کلیک کنید.
  2. روی دکمه «تنظیم گردش کار خودتان» کلیک کنید.
  3. محتویات فایل را با کد زیر جایگزین کنید:
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 اجرا کردید.

اگر این مقاله را دوست داشتید، لطفاً یک کف زدن یا حتی یک نظر بگذارید و فراموش نکنید که من را دنبال کنید تا زمانی که مقاله دیگری را منتشر می کنم، به روز شوید. با تشکر!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا