در این راهنما ، یاد می گیرید که چگونه یک عمل JavaScript را با استفاده از ابزار ابزار اقدام کنید.
در این راهنما ، شما در مورد اجزای اصلی مورد نیاز برای ایجاد و استفاده از یک عمل بسته بندی شده JavaScript خواهید آموخت. برای تمرکز این راهنما بر روی مؤلفه های مورد نیاز برای بسته بندی عمل ، عملکرد کد عمل حداقل است. اگر نام سفارشی را ارائه دهید ، "سلام جهان" در سیاههها یا "سلام [چه کسی به تبریک]" چاپ می کند.
این راهنما از ماژول ابزار GitHub Actions Toolkit Node. JS برای سرعت بخشیدن به توسعه استفاده می کند. برای اطلاعات بیشتر ، به مخزن Action/Toolkit مراجعه کنید.
پس از اتمام این پروژه ، باید درک کنید که چگونه می توانید عمل JavaScript خود را بسازید و آن را در یک گردش کار آزمایش کنید.
برای اطمینان از اقدامات جاوا اسکریپت شما با همه دونده های میزبان GitHub (اوبونتو ، ویندوز و مکوس) سازگار است ، کد جاوا اسکریپت بسته بندی شده ای که می نویسید باید جاوا اسکریپت خالص باشد و به سایر باینری ها اعتماد نکنید. اقدامات JavaScript مستقیماً روی دونده اجرا می شود و از باینری هایی که قبلاً در تصویر دونده وجود دارد استفاده می کنند.
هشدار: هنگام ایجاد گردش کار و اقدامات ، همیشه باید در نظر بگیرید که آیا کد شما ممکن است ورودی غیرقابل اعتماد از مهاجمان احتمالی را اجرا کند. برخی از زمینه ها باید به عنوان ورودی غیرقابل اعتماد رفتار شوند ، زیرا یک مهاجم می تواند محتوای مخرب خود را درج کند. برای اطلاعات بیشتر ، به "درک خطر تزریق اسکریپت" مراجعه کنید.
قبل از شروع ، باید Node. js را بارگیری کنید و یک مخزن عمومی GitHub ایجاد کنید.
node. js 16. x را بارگیری و نصب کنید ، که شامل NPM است.
یک مخزن عمومی جدید در GitHub.com ایجاد کنید و آن را "Hello-World-JavaScript-Action" بنامید. برای اطلاعات بیشتر ، به "ایجاد یک مخزن جدید" مراجعه کنید.
مخزن خود را به رایانه خود کلون کنید. برای اطلاعات بیشتر ، به "کلونینگ یک مخزن" مراجعه کنید.
از ترمینال خود ، دایرکتوری ها را به مخزن جدید خود تغییر دهید.
از ترمینال خود ، دایرکتوری را با NPM تنظیم کنید تا یک پرونده Package. json تولید کنید.
ایجاد یک فایل ابرداده اکشن
یک پرونده جدید به نام Action. yml را در فهرست Hello-World-JavaScript-Action با کد مثال زیر ایجاد کنید. برای اطلاعات بیشتر ، به "نحو ابرداده برای اقدامات GitHub" مراجعه کنید.
این پرونده ورودی و خروجی زمان WHO به تبریک را تعریف می کند. همچنین به دونده اکشن می گوید که چگونه می توان این عمل JavaScript را شروع کرد.
افزودن اقدامات بسته های ابزار
Actions Toolkit مجموعه ای از بسته های Node. js است که به شما امکان می دهد به سرعت اقدامات JavaScript را با سازگاری بیشتر بسازید.
بسته Toolkit @Actions/Core رابط کاربری دستورات گردش کار ، متغیرهای ورودی و خروجی ، وضعیت خروج و پیام های اشکال زدایی را فراهم می کند.
این ابزار همچنین یک بسته @Action/GitHub را ارائه می دهد که یک مشتری معتبر Octokit را باز می گرداند و به زمینه های اقدامات GitHub دسترسی می یابد.
جعبه ابزار بیش از بسته های اصلی و github ارائه می دهد. برای اطلاعات بیشتر ، به مخزن Action/Toolkit مراجعه کنید.
در ترمینال خود ، بسته های Toolkit Core و GitHub را نصب کنید.
اکنون باید یک دایرکتوری node_modules را با ماژول هایی که تازه نصب کرده اید و یک پرونده بسته قفل با وابستگی ماژول نصب شده و نسخه های هر ماژول نصب شده مشاهده کنید.
نوشتن کد عمل
این اقدام از ابزار ابزار برای به دست آوردن متغیر ورودی WHO-to-Greet مورد نیاز در پرونده ابرداده عمل استفاده می کند و "سلام [چه کسی به تبریک]" را در یک پیام اشکال زدایی در ورود به سیستم چاپ می کند. در مرحله بعد ، اسکریپت زمان فعلی را دریافت می کند و آن را به عنوان یک متغیر خروجی تنظیم می کند که اقدامات بعدی در یک کار می تواند از آن استفاده کند.
اقدامات GitHub اطلاعات زمینه ای را در مورد رویداد Webhook ، GIT Refs ، گردش کار ، عمل و شخصی که باعث گردش کار شده است ، ارائه می دهد. برای دسترسی به اطلاعات زمینه ، می توانید از بسته GitHub استفاده کنید. عملی که شما می نویسید بار بارگذاری رویداد WebHook را به ورود به سیستم چاپ می کند.
با کد زیر یک پرونده جدید به نام index. js اضافه کنید.
اگر خطایی در مثال بالا به عنوان مثال پرتاب شود ، core. setFailed (error. message) ؛برای ورود به یک پیام و تنظیم کد خروج از Actions Toolkit @Actions/Core استفاده می کند. برای اطلاعات بیشتر ، به "تنظیم کدهای خروج برای اقدامات" مراجعه کنید.
ایجاد یک readme
برای اینکه به مردم اطلاع دهید که چگونه از عمل خود استفاده کنند ، می توانید یک فایل README ایجاد کنید. هنگامی که قصد دارید اقدامات خود را به صورت عمومی به اشتراک بگذارید ، یک README بسیار مفید است ، اما همچنین یک راه عالی برای یادآوری شما یا تیم خود است که چگونه می توانید از این عمل استفاده کنید.
در دایرکتوری Hello-World-JavaScript-Action خود ، یک پرونده readme. md ایجاد کنید که اطلاعات زیر را مشخص می کند:
- شرح مفصلی از آنچه عمل می کند.
- آرگومان های ورودی و خروجی مورد نیاز.
- آرگومان های ورودی و خروجی اختیاری.
- رازهای اقدامات را اسرار می کند.
- متغیرهای محیط عمل استفاده می کنند.
- نمونه ای از نحوه استفاده از عمل خود در یک گردش کار.
عمل خود را به GitHub متعهد ، برچسب بزنید و فشار دهید
GitHub هر عمل را در یک گردش کار در طول زمان اجرا می کند و قبل از اینکه بتوانید از دستورات گردش کار مانند Run برای تعامل با دستگاه Runner استفاده کنید ، آن را به عنوان یک بسته کامل کد اجرا می کند. این بدان معناست که شما باید هرگونه وابستگی بسته مورد نیاز برای اجرای کد JavaScript را درج کنید. شما باید بسته های Core Core و GitHub را در مخزن عمل خود بررسی کنید.
از ترمینال خود ، اقدامات خود را انجام دهید. اگر یک پرونده . gitignore را اضافه کرده اید که node_modules را لیست می کند ، باید آن خط را حذف کنید تا دایرکتوری node_modules را مرتکب شوید.
بهترین کار برای اضافه کردن یک برچسب نسخه برای نسخه های عملکرد شما است. برای کسب اطلاعات بیشتر در مورد نسخه خود ، به "درباره اقدامات" مراجعه کنید.
بررسی در فهرست Node_Modules شما می تواند باعث ایجاد مشکلاتی شود. به عنوان یک گزینه جایگزین ، می توانید از ابزاری به نام @Vercel/NCC برای تهیه کد و ماژول های خود در یک فایل استفاده شده برای توزیع استفاده کنید.
Vercel/NCC را با اجرای این دستور در ترمینال خود نصب کنید. npm i-g @vercel/ncc
پرونده index. js خود را کامپایل کنید. NCC Build index. j s-مجوزهای دارای مجوز.
یک پرونده Dist/index. js جدید را با کد و ماژول های کامپایل شده مشاهده خواهید کرد. همچنین می توانید یک پرونده Dist/Prumense. txt همراه را مشاهده کنید که حاوی تمام مجوزهای Node_Modules مورد استفاده شما است.
برای استفاده از پرونده جدید Dist/Index. JS ، کلمه کلیدی اصلی را در پرونده Action. yml خود تغییر دهید. اصلی: 'dist/index. js'
اگر قبلاً در فهرست Node_Modules خود را بررسی کرده اید ، آن را حذف کنید. node_modules r m-rf/*
از ترمینال خود ، به روزرسانی های خود را به پرونده های Action. yml ، dist/index. js و node_modules انجام دهید.
آزمایش خود را در یک گردش کار آزمایش کنید
اکنون شما آماده آزمایش عمل خود در یک گردش کار هستید. هنگامی که یک عمل در یک مخزن خصوصی است ، این اقدام فقط در گردش کار در همان مخزن قابل استفاده است. اقدامات عمومی می تواند توسط گردش کار در هر مخزن مورد استفاده قرار گیرد.
مثال با استفاده از یک اقدام عمومی
این مثال نشان می دهد که چگونه می توان اقدامات عمومی جدید شما را از یک مخزن خارجی اجرا کرد.
yaml زیر را در یک پرونده جدید در . github/گردش کار/main. yml کپی کنید و موارد استفاده را به روز کنید: actocat/hello-world-javascript-action@v1. 1 با نام کاربری خود و نام مخزن عمومی که در بالا ایجاد کرده ایدوادهمچنین می توانید ورودی WHO-to-Greet را با نام خود جایگزین کنید.
هنگامی که این گردش کار ایجاد می شود ، دونده عمل Hello-World-Javascript-Action را از مخزن عمومی شما بارگیری می کند و سپس آن را اجرا می کند.
مثال با استفاده از یک اقدام خصوصی
کد گردش کار را در یک پرونده . github/گردش کار/main. yml در مخزن عمل خود کپی کنید. همچنین می توانید ورودی WHO-to-Greet را با نام خود جایگزین کنید.
. github/گردش کار/main. yml
از مخزن خود ، روی برگه Actions کلیک کنید و آخرین اجرای گردش کار را انتخاب کنید. در زیر مشاغل یا در نمودار تجسم ، روی یک کار کلیک کنید تا سلام کنید. شما باید "سلام مونا اکتوکات" یا نامی را که برای ورودی Who-to Greet و Timestamp چاپ شده در ورود به سیستم استفاده کرده اید ، مشاهده کنید.

مخازن الگو برای ایجاد اقدامات جاوا اسکریپت
GitHub مخازن الگو را برای ایجاد اقدامات JavaScript و TypeScript ارائه می دهد. شما می توانید از این الگوها برای شروع سریع با ایجاد یک عمل جدید استفاده کنید که شامل تست ها ، لینت و سایر شیوه های پیشنهادی است.
به ما کمک کنید تا این اسناد را عالی کنیم!
تمام اسناد GitHub منبع باز هستند. چیزی را می بینید که اشتباه است یا نامشخص است؟درخواست کشش ارسال کنید.< SPAN> کد گردش کار را در یک پرونده . github/گردش کار/main. yml در مخزن عمل خود کپی کنید. همچنین می توانید ورودی WHO-to-Greet را با نام خود جایگزین کنید.
تجارت با گزینههای باینری...
ما را در سایت تجارت با گزینههای باینری دنبال می کنید
برچسب :
نویسنده : حمیدرضا پگاه
بازدید : 31
تاريخ : پنجشنبه
21 ارديبهشت
1402 ساعت: 13:15