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


Go (یا Golang) یک زبان برنامه‌نویسی open-source است که توسط گوگل توسعه داده شده است. این زبان طراحی شده تا کدنویسی ساده‌تر، سریع‌تر و کارآمدتر باشد و برای ساخت نرم‌افزارهای مقیاس‌پذیر و با کارایی بالا مناسب است. ویژگی‌های اصلی Go شامل مدیریت حافظه خودکار و هم‌روندی (concurrency) با استفاده از goroutines است. Go به ویژه در توسعه سرویس‌های وب، ابزارهای شبکه و نرم‌افزارهای توزیع‌شده محبوب است.

شما می‌توانید برنامه‌های go خود را با ایجاد برنامه‌های Docker در لیارا، مستقر کنید. برای این‌کار، کافیست تا در Local در مسیر اصلی پروژه، یک فایل به نام Dockerfile، ایجاد کنید و قطعه کد زیر را درون آن، قرار دهید:

کپی
# Use the official Golang image as the base image
FROM golang:latest
        
# Set the working directory inside the container
WORKDIR /app

# Copy the local code to the container
COPY . .

# Download Go modules
RUN go mod download

# Build the Go application
RUN go build -o main .

# Expose port 8080 to the outside world
# EXPOSE 8080

# Command to run the executable
CMD ["./main"]

در ادامه به ساختار Dockerfile فوق، پرداخته شده است:

۱

با استفاده از دستور FROM golang:latest، image رسمی golang به عنوان base image تنظیم می‌شود و تگ latest باعث می‌شود تا برنامه از آخرین نسخه golang استفاده کند.

۲

دستور WORKDIR /app مسیر کاری داخل container را به دایرکتوری app تنظیم می‌کند. در واقع app همان دایرکتوری است که که کد برنامه ما در آنجا کپی می‌شود و دستورات بعدی در آن اجرا می‌شوند.

۳

دستور . . COPY محتوای دایرکتوری که Dockerfile در آن قرار دارد را به دایرکتوری app درون container کپی می‌کند. این دستور این فرض را دارد که کد برنامه شما در همان دایرکتوری Dockerfile قرار دارد.

۴

دستور RUN go mod download ماژول‌های go که در فایل go.mod تعریف شده‌اند را دانلود می‌کند.

۵

دستور . RUN go build -o main برنامه golang شما را اجرا می‌کند. پرچم o- نام فایل خروجی را به main تنظیم می‌کند و نقطه‌ای که در انتهای دستور قرار دارد؛ نشان‌دهنده این است که کد منبع در دایرکتوری فعلی قرار دارد.

۶

دستور CMD ["./main"] دستوری را که هنگام شروع کانتینر اجرا می‌شود، مشخص می‌کند.

شما می‌توانید با استفاده از دستور EXPOSE پورتی که برنامه توسط آن به درخواست کاربران گوش می‌دهد را مشخص کنید. البته چون که در حین استقرار، لیارا از شما port برنامه را می‌پرسد بنابراین برای استقرار برنامه‌های داکرایز شده در لیارا، نیازی به نوشتن این دستور در Dockerfile نیست.

در نهایت، کافیست با اجرای دستور زیر، برنامه خود را در لیارا، مستقر کنید:

کپی
liara deploy --platform=docker --port=8080