استفاده از Hooks در برنامه‌های Go


Hookها در برنامه‌نویسی به دستوراتی گفته می‌شود که به شما اجازه می‌دهند تا عملکرد یک برنامه را در یک نقطه خاص از فرایند اجرا یا استقرار آن، تغییر یا بهبود دهید؛ بدون اینکه نیاز به تغییر کد اصلی داشته باشید.

در لیارا، شما می‌توانید سه فایل زیر را در مسیر اصلی پروژه خود ایجاد کنید؛ و با توجه به زمان مشخص اجرای هر فایل‌، دستورات موردنیاز خود را در آن‌ها تعریف کنید:

نام هوکزمان اجراامکان دسترسی به envهامناسب برای
liara_pre_build.shقبل از بیلد برنامهنداردنصب پکیج‌های سیستمی لازم با apt-get و برنامه‌های موردنیاز برای عملیات build
liara_post_build.shبعد از بیلد برنامه نداردنصب برنامه‌های مورد نیاز در زمان runtime
liara_pre_start.shقبل از اجرای برنامه دارداجرای migrationها

به عنوان مثال، می‌توانید در فایل liara_pre_start.sh دستورات مربوط به migrations را بنویسید تا نیازی نباشد که پس از استقرار برنامه، آن را به صورت دستی در خط فرمان برنامه خود، اجرا کنید:

کپی
echo "Running pre-start script..."

# run migrations
go run migrate.go

# other needed commands
# ...

echo "Pre-start script finished."

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