go

پلتفرم Golang

(Golang Platform)

فهرست عناوین:

استقرار با Liara CLI

در صورتی که تمایلی به خواندن آموزش متنی ندارید می‌توانید ویدیوی آموزشی زیر ‌را مشاهده کنید.

نصب Liara CLI

اگر Liara CLI را نصب ندارید می‌توانید با اجرای دستور زیر آن‌ را به‌راحتی نصب کنید: توضیحات بیشتر

$ npm install -g @liara/cli

ورود به حساب کاربری

برای ورود به حساب کاربری خود به وسیله Liara CLI کافیست دستور زیر را وارد کنید و ایمیل و رمزعبوری که با آن حساب کاربری خود را ایجاد کرده‌اید را وارد نمایید:

$ liara login

اولین استقرار

گام اول) کافیست به بخش ایجاد برنامه‌ها در لیارا بروید و با انتخاب پلتفرم Docker و نوشتن شناسه برنامه‌ی موردنظرتان و در نهایت انتخاب پلن، برنامه خود را ایجاد کنید. برای نمونه، ما در این آموزش برای برنامه آزمایشی‌مان، شناسه go-blog را انتخاب کردیم. همچنین شما می‌توانید از طریق Liara CLI با دستور زیر برنامه‌ی خود را ایجاد کنید.

$ liara create

گام دوم و پایانی) کافیست وارد ریشه برنامه‌ی‌تان شده و به وسیله دستور زیر اولین استقرار خود را اجرا کنید. بعد از وارد کردن، دستور از شما شناسه و پورت برنامه‌ موردنظرتان را می‌پرسد و بعد از انتخاب شناسه، لیارا عملیات استقرار را شروع می‌کند.

$ liara deploy

یک نمونه‌ی پروژه‌ی Golang که آماده‌ی مستقر شدن در لیارا است را در لینک زیر می‌توانید مشاهده کنید:

https://github.com/liara-cloud/golang-getting-started

بعد از وارد کردن دستور دیپلوی، Liara CLI به صورت خودکار، تشخیص خواهد داد که برنامه‌ی شما را باید به عنوان یک برنامه‌ی Docker اجرا کند و عملیات استقرار را آغاز خواهد کرد. اما اگر مشکلی در تشخیص وجود داشت، می‌توانید از دستور زیر استفاده کنید:

$ liara deploy --platform=docker

ساختار Dockerfile

از آنجایی که برای استقرار برنامه‌های golang از پلتفرم داکر استفاده می‌کنیم؛ کافیست که یک فایل به نام 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"]

در ابتدا با استفاده از دستور 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 پورتی که برنامه توسط آن به درخواست کاربران listen می‌کند را مشخص کنید. البته چون که در حین استقرار، لیارا از ما port برنامه را می‌پرسد بنابراین برای استقرار برنامه‌های داکرایز شده در لیارا، نیازی به نوشتن این دستور در Dockerfile نیست.

با فرض این‌که شناسه برنامه را go-blog انتخاب کرده‌ایم؛ پس از استقرار موفق، برنامه در آدرس زیر قابل مشاهده و دسترسی خواهد بود:

https://go-blog.iran.liara.run

متوجه شدم، برو گام بعدی!
;