دستور زنجیرهای چیست
دستور زنجیرهای چیست
یک دستور chain
دستوری سفارشی است که به شما در خودکارسازی اجرای چندین دستور یاری میرساند. با تعریف و خواندن فایل YAML خارجی که شامل نام، گزینهها و آرگومانهای چندین دستور است به شما امکان اجرای آنها مطابق با ترتیب موجود در فایل را میدهد.
ویژگیهای دستور زنجیرهای:
شناسایی فایلهای YAML
دستورات زنجیرهای از مسیرهای زیر شناسایی میشوند:
- سراسری
~/.console/chain
- برای هر سایت
path/to/site/console/chain
تعریف عبارتهای جانشین
شما میتوانید عبارتهای جانشین را با استفاده از {{name}}
و --key=value را از رابط خط فرمان با گزینه --name=[VALUE]
هنگام اجرای دستور فراخوانی کنید.
اگر عبارت جانشینی تعریف کنید و مقداری برای آن هنگام استفاده در رابط خط فرمان ارسال نکنید، اینکار در حالت اجرای تعاملی به یک پرسش تبدیل میشود.
commands:
# Create Drupal project using DrupalComposer
- command: exec
arguments:
bin: composer create-project {{repository}} {{directory}} --prefer-dist --no-progress --no-interaction
# Install Drupal
- command: exec
arguments:
bin: drupal site:install {{profile}} --root={{directory}} --db-type="sqlite" --no-interaction
# Start PHP built-in server
- command: exec
arguments:
bin: drupal server --root={{directory}}
تنظیم مقادیر پیشفرض برای عبارتهای جانشین
در قسمت variables
میتوانید مقادیر پیشفرض برای عبارتهای جانشین را تعریف کنید.
vars:
repository:
- drupal-composer/drupal-project:8.x-dev
- acquia/lightning-project
- acquia/reservoir-project
profile: standard
میتوانید عبارتهای جانشین را به عنوان مقدار تکی یا یک آرایه نیز تعریف کنید. از این تعریف هنگام تصمیمگیری درباره پرسش مطرح شده در حالت تعاملی اجرای دستور استفاده خواهد شد.
خواندن متغیرهای محلی
با استفاده از {{ env("ENVIRONMENT_VAR_NAME") }}
میتوانید متغیرهای محلی را بخوانید.
command:
name: site:install:env
description: 'Install site using environment placeholders'
commands:
# Install Drupal
- command: site:install
options:
langcode: en
db-type: '{{ env("DATABASE_TYPE") }}'
db-host: '{{ env("DATABASE_HOST") }}'
db-name: '{{ env("DATABASE_NAME") }}'
db-user: '{{ env("DATABASE_USER") }}'
db-pass: '{{ env("DATABASE_PASSWORD") }}'
db-port: '{{ env("DATABASE_PORT") }}'
site-name: 'Drupal 8 site'
site-mail: admin@example.org # default email
account-name: admin # default account
account-mail: admin@example.org # default email
account-pass: admin # default pass
arguments:
profile: 'standard'
تمام متغیرهای محلی مورد نیاز در تعریف دستور زنجیرهای اجباری هستند.