ارائه دهنده خدمات ابری PaaS و DBaaS

استقرار برنامه‌های Golang

در حال حاضر Golang جزو پلتفرم‌ها پشتیبانی‌شده توسط لیارا نیست. اما این به این معنا نیست که شما نمی‌توانید برنامه‌هایی که با این زبان قدرتمند نوشته شده‌اند را در لیارا مستقر کنید. بلکه صرفا به این معناست که بایدDockerfileمربوطه را خودتان به برنامه‌ی‌تان اضافه کنید.

برای این‌کار، ابتدا لازم است که از بخش «برنامه‌ها» یک برنامه از نوع Docker و با نام و پلن دلخواه‌تان بسازید.

سپس یک فایل به نامDockerfileدر ریشه‌ی برنامه‌ی‌تان بسازید. توجه داشته باشید که نام این فایل را دقیقا به همین صورت باید وارد کنید، بدون هیچ‌گونه پسوندی.

سپس، محتویات زیر را داخل فایلDockerfileقرار دهید:

FROM golang:1.15-alpine AS build

WORKDIR /app

COPY . ./

# Install dependencies
RUN go mod download && \
  # Build the app
  GOOS=linux GOARCH=amd64 go build -o main && \
  # Make the final output executable
  chmod +x ./main

FROM alpine:latest

# Install os packages
RUN apk --no-cache add bash

WORKDIR /app

COPY --from=build /app/main .

CMD ["./main"]

EXPOSE 8000

توجه داشته باشید که در خط اول، می‌توانید نسخه‌ی Golang مدنظرتان را وارد کنید. در مقابلEXPOSE، پورتی را که وب‌سرور شما به آن listen می‌کند را بنویسید. در زمان دیپلوی هم لیارا این پورت را از شما می‌پرسد که باید همان مقدار EXPOSEرا وارد کنید.

در نهایت، CMD و یا ترمینال را در پوشه‌ای که Dockerfileرا داخل آن قرار دادید باز کرده و سپس دستور زیر را برای استقرار و اجرای برنامه وارد کنید:

$ liara deploy

راهنمای نصب Liara CLI

مقالات زیادی وجود دارند که نحوه‌ی Dockerize‌کردن برنامه‌های Golang را توضیح داده‌اند که شما می‌توانید آن‌ها را جستجو و مطالعه کنید.Dockerfileای که ما در این صفحه قرار دادیم، صرفا یک نمونه است و شما می‌توانید آن را با توجه به نیاز خودتان ویرایش کنید.

توجه داشته باشید که

  • اگر با خطای ReadOnly Filesystem مواجه شدید، لازم است که بخش «فایل‌سیستم» را مطالعه کنید.
  • بین برنامه‌ها و دیتابیس‌ها شبکه‌ی خصوصی برقرار است که در صورت استقرار Microservice‌ها و ارتباط درون‌شبکه‌ای، بسیار کاربردی است.
  • در صفحه‌ی لاگ‌ها امکان دنبال‌کردن زنده‌ی لاگ‌های‌تان را دارید.
  • برای تنظیم Environment Variableها، بخش «متغیرهای محیطی» را مطالعه کنید.