استقرار برنامه خوداتکای Node.js

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

این موضوع توضیح می‌دهد که چگونه برنامه Node.js را از سیستم محلی‌تان در Apigee Edge مستقر کنید. در این موضوع، درباره نحوه استفاده از ابزار خط فرمان به‌نام apigeetool برای استقرار برنامه‌های Node.js در Apigee Edge بحث خواهیم کرد.

درباره استقرار کد Node.js در Apigee Edge

می‌توانید برنامه API‏ Node.js موجود را، ازجمله هر واحد Node.js وابسته، از سیستم محلی‌تان بااستفاده از ابزار خط فرمان به‌نام apigeetool در Apigee Edge مستقر کنید. این ابزار به‌طور خودکار برنامه و وابستگی‌های آن را در یک پراکسی API دسته‌بندی می‌کند و آن را در Edge مستقر می‌کند.

برای مثال، فرض کنید از Express برای ایجاد برنامه وب در Node.js استفاده کرده‌اید. این برنامه به‌عنوان سرور HTTP اجرا می‌شود که به درخواست‌های HTTP گوش می‌دهد، این درخواست‌ها را پردازش می‌کند، داده‌ها را برمی‌گرداند، و غیره. وقتی از apigeetool برای استقرار برنامه Node.js در Edge استفاده می‌کنید، برنامه در پراکسی پیچیده می‌شود و در بافت پلاتفرم Edge اجرا می‌شود. سپس می‌توانید ازطریق نشانی وب پراکسی جدیدتان با برنامه‌تان تماس بگیرید و با «آراستن» آن با ویژگی‌های استاندارد Edge مثل امنیت OAuth، خط‌مشی‌های سهمیه، خط‌مشی‌های محافظت دربرابر تهدید، جریان‌های شرطی، ذخیره در حافظه نهان، و بسیاری موارد دیگر به آن ارزش اضافه کنید.

‫apigeetool چه کاری انجام می‌دهد؟

وقتی ابزار apigeetool را با گزینه deploynodeapp اجرا می‌کنید، این ابزار:

  • بسته‌ای از پیکربندی پراکسی API برای میزبانی برنامه Node.js تولید می‌کند.
  • برنامه Node.js را با هر بسته Node.js نصب‌شده با NPM (واحد بسته‌بندی‌شده Node) بسته‌بندی می‌کند.
  • بسته پیکربندی پراکسی میانای برنامه‌سازی کاربردی را بااستفاده از Edge management API به سازمان مشخص‌شده در Apigee Edge وارد می‌کند.
  • کارگزار پراکسی API را در محیطی مستقر می‌کند.
  • برنامه Node.js را در Apigee Edge اجرا می‌کند و آن را در شبکه دردسترس قرار می‌دهد.

درحال آماده‌سازی برای استفاده از apigeetool

قبل‌از شروع، باید ابزار apigeetool را نصب کنید.

می‌توانید apigeetool را ازطریق npm یا با شبیه‌سازی و پیوند دادن کد از GitHub نصب کنید.

نصب از npm

واحد apigeetool و وابستگی‌های آن برای Node.js طراحی شده است و ازطریق npm بااستفاده از فرمان زیر دردسترس است:

$ sudo npm install -g apigeetool

معمولاً گزینه -g واحدها را در: /usr/local/lib/node_modules/apigeetool در ماشین‌های مبتنی بر *nix قرار می‌دهد.

نصب از GitHub

«ابزارهای پلاتفرم API» را از GitHub بارگیری یا شبیه‌سازی کنید. برای دستورالعمل‌های نصب، فایل README را در دایرکتوری ریشه مخزن ببینید.

$ git clone https://github.com/apigee/apigeetool-node.git

پس‌از تکمیل نصب، مطمئن شوید که فایل اجرایی apigeetool در مسیر شما قرار دارد. با تایپ کردن می‌توانید آن را امتحان کنید:

$ apigeetool -h

استقرار برنامه Node.js در Edge با apigeetool

توجه: قبل‌از استقرار، باید نام سازمان Apigee Edge، نام کاربری، و گذرواژه حساب Apigee Edge خود را بدانید. برای درست تشکیل دادن فرمان apigeetool به این اطلاعات نیاز دارید.

برای استقرار برنامه Node.js بااستفاده از apigeetool:

  1. در پنجره پایانه، cd دایرکتوری ریشه برنامه Node.js.
  2. ابزار apigeetool را با فرمان deploynodeapp اجرا کنید:

    $ apigeetool deploynodeapp -n {A name for your new proxy} -d {The root directory of your Node.js app} -m {The name of the main Node.js file} -o {Your org name on Edge} -e {The environment to deploy to} -b {The base URL for your proxy} -u {Your Edge email address} -p {Your Edge password}
    
    برای مثال:

    $ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
    
  3. برونداد را در پنجره ترمینال بررسی کنید. چیزی شبیه این خواهد بود:

    Importing new application myNodeApp
    Imported new app revision 1
    Deploying revision 1
      Deployed.
    Proxy: "myNodeApp" Revision 1
      Environment: test BasePath: /myNodeApp
      Status: deployed

    اگر «وضعیت: مستقرشده» را می‌بینید، یعنی تمام است. همه چیز به‌خوبی پیش رفت. برنامه Node.js شما در یک پراکسی API پیچیده شده است، در Edge مستقر شده است، و درحال اجرا و منتظر رسیدگی به درخواست‌ها است. آماده آزمایش است.

  4. کارگزار پراکسی خود را آزمایش کنید. برای مثال:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. درصورت تمایل، به سیستم حساب Apigee Edge خود وارد شوید و به صفحه «پراکسی‌های API» در واسط کاربر مدیریت بروید. کارگزار جدیدتان را در آنجا خواهید دید.

نحوه مدیریت فایل‌ها و واحدهای وابسته توسط apigeetool

اگر برنامه Node.js شما به واحدهای نصب‌شده وابسته است، apigeetool آن‌ها را با فشرده کردن پوشه node_modules و افزودن آن به بسته پراکسی مدیریت می‌کند. اقدام دیگری لازم نیست. همین امر برای هر دایرکتوری که حاوی کد منبع اضافی باشد نیز صادق است. ابزار کمک‌رسان apigeetool آن‌ها را فشرده می‌کند و با بسته مستقر می‌کند.

نمی‌توانید فایل‌های موجود در این فهرستگان فشرده را در تدوین‌گر «میانای کاربر مدیریت Edge» ویرایش کنید. اگر نیاز به تغییر آن‌ها دارید، می‌توانید پروژه خود را صادر کنید، فایل‌ها را به‌صورت محلی ویرایش کنید، و سپس بااستفاده از apigeetool یا با وارد کردن پروژه صادرشده بااستفاده از رابط کاربری مدیریت، دوباره مستقر کنید. همچنین «صادر کردن و وارد کردن پراکسی با کد Node.js» را ببینید.

اطلاعات پایه استفاده از apigeetool

برای اطلاعات پایه درباره پارامترهای ورودی ابزار apigeetool، این را وارد کنید:

$ apigeetool deploynodeapp -h

  Usage: deploynodeapp -n [name] -o [organization] -e [environment]
  -d [directory name] -m [main script file]
  -u [username] -p [password]
  -b [base path] -l [apigee API url] -z [zip file] -i -h
  -o Apigee organization name
  -e Apigee environment name
  -n Apigee proxy name
  -d Apigee proxy directory
  -m Main script name: Should be at the top level of the directory
  -u Apigee user name
  -p Apigee password
  -b Base path (optional, defaults to /)
  -L Apigee API URL (optional, defaults to https://api.enterprise.apigee.com)
  -z ZIP file to save (optional for debugging)
  -i import only, do not deploy
  -R Resolve Node.js modules on Apigee Edge. Equivalent to running npm install on your project. 
  -U Uploads Node.js modules to Apigee Edge. 
  -h Print this message

درحال ایجاد پراکسی جدید با فایل‌های Node.js موجود

روش دیگر برای ادغام کردن برنامه Node.js موجود در پراکسی API این است که برنامه را هنگام ایجاد پراکسی اضافه کنید. این کار را می‌توانید کاملاً ازطریق واسط کاربر مدیریت و کادر گفتگوی «پراکسی جدید API» انجام دهید.

  1. از صفحه خلاصه پراکسی API، روی +پراکسی API کلیک کنید.
  2. در چارگوش گفتگوی «پراکسی API جدید»، Node.js موجود را انتخاب کنید.
  3. از دکمه انتخاب فایل‌ها برای انتخاب یک یا چند فایل Node.js برای وارد کردن استفاده کنید.
  4. نامی برای پراکسی انتخاب کنید. در این مثال، آن را hellonode می‌نامیم.
  5. نسخه /v1 را به «مسیر پایه پروژه» اضافه کنید. نسخه‌بندی کردن میانای برنامه‌سازی کاربردی شما یک روال مطلوب است.
  6. روی ساختن کلیک کنید.
  7. برای ورود به نمای «توسعه»، روی توسعه کلیک کنید.
  8. فایل TargetEndpoint را در ویرایشگر کد باز کنید.
  9. مطمئن شوید عنصر <ScriptTarget> فایل اصلی Node.js را به‌صورت زیر مشخص می‌کند:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
  10. روی ذخیره کلیک کنید.

درحال افزودن و فراخوانی فایل‌های منبع جدید Node.js

روش دیگر برای افزودن کد Node.js به پراکسی، افزودن مستقیم آن است، چه ازطریق واسط کاربر یا با بارگذاری آن از سیستم فایل محلی. همچنین می‌توانید مشخص کنید کدام فایل Node.js فایل اصلی است، یعنی فایلی که Edge هنگام استقرار پراکسی فراخوانی می‌کند.

افزودن فایل‌های جدید Node.js ازطریق واسط کاربر

واسط کاربر مدیریت به شما امکان می‌دهد فایل‌های منبع Node.js بیشتری به پراکسی‌ای که در پلاتفرم Edge قرار دارد اضافه کنید. می‌توانید آن‌ها را مستقیماً در رابط کاربری ایجاد کنید یا از سیستم فایل خود وارد کنید. ابتدا، بیایید ببینیم چگونه می‌توان این کار را ازطریق واسط کاربر انجام داد.

برای ایجاد فایل منبع Node.js جدید:

  1. در نمای «توسعه»، جدید نوشتار را از منو «جدید» انتخاب کنید.
  2. در کادر گفتگوی «افزودن دستورگان»، نوع فایل Node را انتخاب کنید و نامی برای دستورگان انتخاب کنید.
  3. روی افزودن کلیک کنید.

فایل جدید و خالی Node.js در ویرایشگر باز می‌شود. می‌توانید کدتان را در فایل برش دهید و جای‌گذاری کنید. فایل در بخش «دستورگان» «پیمایشگر» نیز نشان داده می‌شود.

[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]

درحال وارد کردن فایل‌های Node.js از سیستم فایل شما

برای وارد کردن فایل Node.js از سیستم فایل به پراکسی:

  1. در نمای «توسعه»، جدید نوشتار را از منو «جدید» انتخاب کنید.
  2. در چارگوش گفتگوی «افزودن فیلم‌نامه»، روی وارد کردن فیلم‌نامه کلیک کنید.
  3. از ابزار فایل برای انتخاب فایل Node.js استفاده کنید.
  4. نام فایل به چارگوش گفتگو اضافه می‌شود، اما درصورت تمایل می‌توانید آن را تغییر دهید.
  5. روی افزودن کلیک کنید. فایل در بخش «متن‌های نوشتاری» در «پیمایشگر» نشان داده می‌شود و در ویرایشگر باز می‌شود.
  6. روی ذخیره کلیک کنید.

اگر می‌خواهید فایل واردشده را فراخوانی کنید، همان‌طور که در بخش بعدی توضیح داده شده است، یک مرحله اضافی لازم است.

فراخوانی فایل Node.js واردشده

نمی‌توانید به‌سادگی فایل Node.js جدیداً واردشده یا ایجادشده را فراخوانی کنید. دلیل این است که Edge ملزم می‌کند که یکی از فایل‌های Node.js فایل اصلی باشد. فایل اصلی در عنصر <ScriptTarget> تعریف «نقطه پایان هدف» مشخص شده است. برای مشخص کردن اینکه کدام فایل فایل اصلی Node.js است، مراحل زیر را انجام دهید:

  1. در بخش «نقطه‌های پایانی هدف» در «پیمایشگر»، روی نام نقطه پایانی هدف (معمولاً پیش‌فرض نامیده می‌شود) کلیک کنید.
  2. در «ویرایشگر کد»، عنصر <ScriptTarget> را با تغییر دادن <ResourceURL> ویرایش کنید تا نام فایلی را که می‌خواهید فایل اصلی Node.js باشد منعکس کند. برای مثال، اگر می‌خواهید فایل hello-world.js به‌عنوان فایل اصلی باشد، در عنصر ResourceURL، عبارت node://hello-world.js را وارد کنید.
  3. روی ذخیره کلیک کنید.

در این مرحله، می‌توانید فایل را با هر مسیر پراکسی که قبلاً استفاده کرده‌اید فراخوانی کنید. برای مثال، به نمونه «سلام دنیا!» نگاه کرده‌ایم که در آن مسیر پایه v1/helloمشخص شده است. بااین‌حال، با ویرایش کردن «نقطه پایانی پراکسی» می‌توانید مسیر پایه را تغییر دهید.

  1. در بخش «نقطه‌های پایانی پراکسی» در «پیمایشگر»، روی نام نقطه پایانی پراکسی (معمولاً پیش‌فرض نامیده می‌شود) کلیک کنید.
  2. در «ویرایشگر کد»، عنصر <HttpProxyConnection> را با تغییر دادن <BasePath> به هر نامی که می‌خواهید ویرایش کنید. برای مثال، اگر <BasePath> کنونی v1/hello است و می‌خواهید v1/my-node-file باشد، عنصر <BasePath> را به این صورت تغییر دهید:

    <BasePath>/v1/my-node-file</BasePath>
  3. روی ذخیره کلیک کنید.
  4. پراکسی را بااستفاده از مسیر پایه جدید فراخوانی کنید، مانند این:

    $ curl http://myorg-test.apigee.net/v1/my-node-file
    Hello, World!
    

صادر کردن و وارد کردن پراکسی با کد Node.js

پس‌از استقرار یک پراکسی حاوی کد Node.js در Edge، همیشه می‌توانید پراکسی را به سیستم خودتان برگردانید، در آنجا روی آن کار کنید، و سپس آن را بااستفاده از رابط کاربری مدیریت دوباره به Edge وارد کنید. این نوع تکنیک توسعه رفت‌وبرگشتی معمولاً استفاده می‌شود.

  1. از صفحه خلاصه پراکسی API، روی توسعه کلیک کنید.
  2. در صفحه «توسعه»، بارگیری نسخه کنونی را انتخاب کنید.
  3. فایل بارگیری‌شده را در سیستم خود از حالت فشرده خارج کنید.

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

همچنین می‌توانید از API برای استقرار پراکسی‌ها استفاده کنید. برای جزئیات، استقرار پراکسی‌ها از خط فرمان را ببینید.

مراحل بعدی

در موضوع بعدی، افزودن Node.js به پراکسی API موجود، توضیح می‌دهیم که چگونه برنامه Node.js را به پراکسی موجود در سیستم فایل خود اضافه کنید و آن را در Edge مستقر کنید.