استخدام مساحات العمل للبيئات
استكشف مساحات عمل Terraform لإدارة حالات منفصلة لبيئات مختلفة (مثل التطوير والتهيئة التجريبية والإنتاج) ضمن التهيئة نفسها.
استخدام مساحات العمل للبيئات درس مجاني في Terraform Infrastructure as Code على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Terraform Infrastructure as Code، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Terraform Infrastructure as Code 4 دروس في المجموع.
ما مساحات عمل Terraform؟
تساعدك مساحات عمل Terraform على إدارة حالات متعددة ومستقلة لـتكوين Terraform نفسه. فكّر فيها على أنها بيئات منفصلة مثل 'dev' أو 'staging' أو 'prod'.
وهذا يعني أنه يمكنك استخدام مجموعة واحدة من ملفات .tf لنشر البنية الأساسية في أماكن مختلفة دون تغيير التعليمات البرمجية، مما يعزز قابلية إعادة الاستخدام والاتساق.
مساحة العمل 'default'
عند تهيئة Terraform لأول مرة في دليل (باستخدام terraform init)، ستستخدم تلقائيًا مساحة العمل default.
ستُخزّن جميع عمليات terraform apply الأولية حالتها في مساحة العمل default هذه، ما لم تنشئ مساحة عمل أخرى وتحددها. وهي موجودة دائمًا!
إنشاء مساحات عمل جديدة
لإنشاء بيئة جديدة، استخدم الأمر terraform workspace new. ويبدّل هذا الأمر أيضًا سياقك الحالي تلقائيًا إلى مساحة العمل التي أُنشئت حديثًا.
لننشئ مساحة عمل dev:
terraform workspace new devسينشئ Terraform بعد ذلك حالة منفصلة لبيئة dev هذه.
إدراج مساحات العمل المتاحة
يمكنك عرض جميع مساحات العمل المتاحة في دليل التكوين الحالي باستخدام الأمر terraform workspace list.
ستُميز مساحة العمل النشطة حاليًا بعلامة النجمة (*)، مما يساعدك على متابعة بيئاتك المختلفة.
terraform workspace listالتبديل بين مساحات العمل
للتبديل بين مساحات العمل الموجودة، استخدم الأمر terraform workspace select متبوعًا باسم مساحة العمل. ويغيّر هذا الأمر بيئتك النشطة.
لنعُد إلى مساحة العمل default:
terraform workspace select defaultستستهدف أي عمليات Terraform لاحقة حالة بيئة default الآن.
استخدام 'terraform.workspace'
يمكنك جعل تكويناتك ديناميكية من خلال الإشارة إلى اسم مساحة العمل الحالية باستخدام المتغير المضمّن terraform.workspace. وهذا مثالي لتسمية الموارد أو تعيين العلامات الخاصة بكل بيئة.
جرّب تشغيل هذا المثال. شغّل أولًا terraform init، ثم terraform workspace new dev، وأخيرًا terraform apply. ولاحظ اسم الحاوية والعلامات.
provider "aws" {
region = "us-east-1" # Or your preferred region
}
resource "aws_s3_bucket" "example" {
bucket = "my-unique-bucket-${terraform.workspace}-12345"
acl = "private"
tags = {
Environment = terraform.workspace
ManagedBy = "CoddyKit"
}
}
output "bucket_name" {
description = "Name of the S3 bucket created."
value = aws_s3_bucket.example.bucket
}ملفات حالة معزولة
أهم جانب في مساحات العمل هو أن كل مساحة منها تحتفظ بملف حالة منفصل تمامًا.
وهذا يعني أن الموارد المنشورة في مساحة العمل dev لن تتداخل مع الموارد الموجودة في مساحة العمل prod، حتى إن كانت معرفة في ملفات التكوين نفسها. يدير Terraform ملفات الحالة هذه في دليل مخفي (.terraform/environments) ضمن دليل العمل الخاص بك.
حذف مساحات العمل
عندما لا تعود هناك حاجة إلى بيئة ما، يمكنك حذف مساحة العمل الخاصة بها باستخدام terraform workspace delete <name>.
- مهم: لا يمكنك حذف مساحة العمل النشطة حاليًا.
- بالغ الأهمية: احرص دائمًا على تدمير جميع الموارد المرتبطة بمساحة العمل باستخدام
terraform destroyقبل حذفها. وإلا فقد تبقى موارد يتيمة!
terraform workspace select default
terraform workspace delete devمساحات العمل مقابل الأدلة المنفصلة
رغم أن مساحات العمل مناسبة للاختلافات البسيطة في التكوين نفسه، فإنها ليست الخيار الأفضل دائمًا. ضع النقاط التالية في الاعتبار:
- مساحات العمل: مثالية للاختلافات البيئية الصغيرة (مثل أعداد الموارد والعلامات) مع تصميم البنية الأساسية الأساسي نفسه.
- الأدلة المنفصلة: أفضل لتصميمات البنية الأساسية المختلفة بدرجة كبيرة، أو عندما تدير فرق مختلفة بيئات منفصلة تمامًا.
اختر النهج الأنسب لتعقيد مشروعك وبنية فريقك.
التحقق من مساحات العمل
لقد تعلّمت عن مساحات عمل Terraform. لنختبر مدى فهمك.
مراجعة: مساحات العمل للبيئات
أحسنت! لقد استكشفت مساحات عمل Terraform، وهي ميزة قوية لإدارة بيئات متعددة من تكوين واحد. تذكّر النقاط الأساسية التالية:
- توفر مساحات العمل ملفات حالة معزولة للبيئات المختلفة (مثل dev وprod).
- استخدم
terraform workspace newوlistوselectلإدارتها. - يتيح المتغير
terraform.workspaceإنشاء تكوينات ديناميكية خاصة بكل بيئة. - دمّر الموارد دائمًا قبل حذف مساحة العمل لتجنب بقاء بنية أساسية يتيمة.
يتيح ذلك نشر البنية الأساسية بمرونة وتنظيم!
الأسئلة الشائعة
هل درس «استخدام مساحات العمل للبيئات» مجاني؟
نعم — نص درس «استخدام مساحات العمل للبيئات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Terraform Infrastructure as Code، انتقل إلى CoddyKit PRO. تتضمن دورة Terraform Infrastructure as Code 4 دروس في المجموع.
ماذا ستتعلم في «استخدام مساحات العمل للبيئات»؟
استكشف مساحات عمل Terraform لإدارة حالات منفصلة لبيئات مختلفة (مثل التطوير والتهيئة التجريبية والإنتاج) ضمن التهيئة نفسها. تتمرن على Terraform Infrastructure as Code مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Terraform Infrastructure as Code؟
لا تُشترط خبرة سابقة. Terraform Infrastructure as Code على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «استخدام مساحات العمل للبيئات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Terraform Infrastructure as Code هذا؟
نعم. كل درس في Terraform Infrastructure as Code يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى وحدات Terraform
- إنشاء وحدات قابلة لإعادة الاستخدام
- استخدام مساحات العمل للبيئات
- نشر الوحدات في سجل