دنیای DevOps با Go

ایجاد شده توسط دکتر مصطفی جلیلی در آموزش برنامه نویسی گولنگ 24 آوریل 2025
اشتراک گذاری


DevOps با Go – ابزارسازی، داکر، فایل اجرایی و انتشار


زبان Go نه‌تنها برای ساخت API و اپلیکیشن‌های وب کاربرد داره، بلکه توی دنیای DevOps هم یک انتخاب فوق‌العاده‌ست. با کمک سرعت بالا، تولید فایل اجرایی مستقل، و دسترسی مستقیم به سیستم، می‌تونی ابزارهایی سریع، ساده و قابل‌حمل بسازی. تو این بخش یاد می‌گیریم چطور با Go ابزارهای خط فرمان بسازیم، به Docker وصل شیم، فایل اجرایی قابل‌حمل تولید کنیم و فرآیند انتشار رو انجام بدیم.




ساخت CLI Tools با Go


یکی از رایج‌ترین استفاده‌های Go در DevOps، ساخت ابزارهای خط فرمان یا همون CLI Tool هست. با Go می‌تونی خیلی راحت ابزارهایی بسازی که توی لینوکس، ویندوز یا مک قابل اجرا باشن.


مثال ساده:


package main
import (
"flag"
"fmt"
)
func main() {
name := flag.String("name", "کاربر", "نام شما")
flag.Parse()
fmt.Printf("سلام %s!\n", *name)
}

اجرای برنامه:


go run main.go -name=علی

می‌تونی از پکیج‌هایی مثل cobra یا urfave/cli هم برای ساخت ابزارهای حرفه‌ای‌تر استفاده کنی.




اتصال به Docker API


برای کار با Docker به‌صورت برنامه‌نویسی‌شده در Go، می‌تونی از پکیج رسمی moby/moby یا docker/docker/client استفاده کنی.


مثال:


import (
"context"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
"fmt"
)
func main() {
cli, err := client.NewClientWithOpts(client.FromEnv)
if err != nil {
panic(err)
}
containers, err := cli.ContainerList(context.Background(), types.ContainerListOptions{})
if err != nil {
panic(err)
}
for _, container := range containers {
fmt.Println(container.ID, container.Image)
}
}

با این کد، می‌تونی لیست کانتینرهای فعال داکر رو دریافت کنی.




تولید فایل اجرایی cross-platform


یکی از قابلیت‌های فوق‌العاده Go، ساخت فایل اجرایی برای سیستم‌عامل‌های مختلف فقط با یک خط دستوره.


ساخت فایل اجرایی برای لینوکس:


GOOS=linux GOARCH=amd64 go build -o app-linux

ساخت برای ویندوز:


GOOS=windows GOARCH=amd64 go build -o app.exe

ساخت برای مک:


GOOS=darwin GOARCH=amd64 go build -o app-mac

این یعنی می‌تونی بدون نیاز به ابزار جانبی، یک برنامه بنویسی و برای هر سیستم‌عاملی نسخه اجرایی بسازی.




انتشار و Deployment


بعد از ساخت ابزار یا اپلیکیشن با Go، برای انتشار می‌تونی:




  1. خروجی build رو در یک مخزن GitHub بذاری.




  2. با ابزارهایی مثل GitHub Actions فرآیند build و انتشار رو خودکار کنی.




  3. فایل اجرایی رو روی سرورهایی مثل لینوکس با scp یا rsync منتقل کنی.




  4. اگر API ساختی، روی سرورهای ابری مثل Render، Railway، DigitalOcean یا VPS شخصی مستقرش کنی.






در این بخش یاد گرفتیم چطور با Go ابزارهای DevOps بسازیم، به داکر متصل شیم، فایل اجرایی کراس‌پلتفرم تولید کنیم و اپلیکیشن‌مون رو منتشر کنیم. Go برای DevOps یه ابزار سبک، سریع و قابل‌اعتماد حساب می‌شه.

نظرات (0)

اشتراک گذاری

این پست را با دیگران به اشتراک بگذارید

تنظیمات GDPR

When you visit any of our websites, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and manage your preferences. Please note, that blocking some types of cookies may impact your experience of the site and the services we are able to offer.