go

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

(Golang Apps)
در حال حاضر برنامه‌های Go به‌صورت مستقیم در لیارا پشتیبانی نمی‌شوند اما شما می‌توانید پروژه‌های توسعه داده شده با این زبان برنامه‌نویسی را طبق دستورالعمل زیر در لیارا مستقر کنید.

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

سپس یک فایل با نامDockerfileدر ریشه‌ی برنامه‌ی‌تان بسازید و قطعه‌کد زیر را در این فایل قرار دهید:

FROM golang:1.19-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ها، بخش «متغیرهای محیطی» را مطالعه کنید.
;