ماذا يفعل
pulumi يصف موارد السحابة بكود عادي: حلقات ودوال وأصناف واختبارات. مثل Terraform يحفظ حالة، ويعرض معاينة للتغييرات ثم يطبقها (up). المكدس (stack) نسخة واحدة من المشروع (dev و staging و prod) لها إعداداتها وحالتها.
الحالة تُحفظ في Pulumi Cloud، أو في واجهة خلفية خاصة بك (S3 و Azure Blob ومجلد محلي). الأسرار في الإعدادات مشفّرة.
طريقة الكتابة
pulumi COMMAND [OPTIONS]الأجزاء الرئيسية
الأوامر
newTEMPLATE- بدء مشروع (مثلًا
azure-typescript). preview- عرض ما سيتغيّر.
up- إنشاء الموارد أو تغييرها.
destroy- حذف كل موارد المكدس.
stackinit|select|ls|output- إنشاء / اختيار / عرض المكدسات، وعرض المخرجات.
configset[--secret]KEYVALUE- ضبط قيمة إعدادات (أو سرّ مشفّر).
refresh- قراءة الحالة الحقيقية من السحابة.
importTYPENAMEID- إدخال مورد موجود تحت إدارة Pulumi.
login[URL]- اختيار الواجهة الخلفية للحالة (
file://وs3://وazblob://). statedeleteURN- حذف مورد من الحالة فقط.
cancel- إيقاف تحديث جارٍ.
الخيارات 8
الأكثر استخدامًا
الخيارات
لا يوجد شيء يطابق هذا الفلتر.
أمثلة 10
$ مستخدم عادي# بصلاحية root (أو مع sudo)
1بدء مشروع Azure جديد بـ TypeScript
pulumi new azure-typescript -n shop-infra2حفظ الحالة في تخزينك (بدون Pulumi Cloud)
pulumi login azblob://pulumi-state pulumi login s3://acme-pulumi-state3برنامج صغير (TypeScript)
cat index.ts import * as resources from "@pulumi/azure-native/resources"; import * as storage from "@pulumi/azure-native/storage"; const rg = new resources.ResourceGroup("rg-shop"); const sa = new storage.StorageAccount("stshop", { resourceGroupName: rg.name, kind: "StorageV2", sku: { name: "Standard_LRS" }, minimumTlsVersion: "TLS1_2", allowBlobPublicAccess: false, }); export const account = sa.name;4المعاينة ثم التطبيق
pulumi preview --diff pulumi up5مكدسات لكل بيئة
pulumi stack init prod pulumi config set azure-native:location westeurope pulumi config set --secret dbPassword 'S3cr3t!'6قراءة مخرج
pulumi stack output account7في CI بدون أسئلة
pulumi up --stack prod --yes --non-interactive8إيجاد الانحراف (تغييرات يدوية)
pulumi refresh --stack prod --yes9إدخال مورد موجود
pulumi import azure-native:resources:ResourceGroup rg-old /subscriptions/SUB/resourceGroups/rg-old10حذف مكدس اختبار بالكامل
pulumi destroy --stack dev --yes pulumi stack rm dev
لا يوجد شيء يطابق هذا الفلتر.
انتبه
-
destroyيحذف موارد حقيقية. احمِ المهمة بـprotect: true. - الكود يستطيع فعل أي شيء — اجعل البرنامج بسيطًا ومراجَعًا مثل كود التطبيق.
- انسخ الواجهة الخلفية للحالة احتياطيًا. ضياع الحالة يعني أن Pulumi ينسى ما أنشأه.
الملفات
Pulumi.yaml- اسم المشروع وبيئة التشغيل.
Pulumi.STACK.yaml- إعدادات مكدس واحد (الأسرار مشفّرة).
نصائح للحفظ
- Terraform و OpenTofu لهما وظائف وأمثلة أكثر، و Pulumi شائع في فرق المطوّرين.
رموز الخروج
0 | تم. |
255 | خطأ. |