چگونه از GitHub Actions برای به روز نگه داشتن پروژه Python RPA خود استفاده کنید
به احتمال زیاد درباره GitHub Actions شنیده اید. و اگر هنوز این فرصت را نداشتید که در مورد این قابلیت اطلاعات کسب کنید، از این مزیت استفاده کنید و مستندات مربوط به آن را در این پیوند بررسی کنید.
و برای بهره مندی از عملی بودن انجام اقدامات مختلف در پروژه ها از این قابلیت، یک تابع GitHub Actions برای خودکارسازی آپدیت ربات ها به نام BotCity Actions ایجاد کردیم و می توانید آن را در این مخزن موجود بیابید.
چرا از BotCity Actions استفاده کنیم؟
هر زمان که بتوانیم فرآیندی را خودکار کنیم تا زندگی روزمره خود را آسانتر کنیم، منطقی است که یاد بگیریم چگونه آن را انجام دهیم و بفهمیم که آیا در زمینه و نیازهای ما منطقی است یا خیر. بنابراین، اگر یک فرآیند توسعه مستمر برای رباتهای خود دارید، چرا زندگی روزمره خود را آسانتر نکنید و نه تنها فرآیندهای تجاری و محصول، بلکه استقرار و بهروزرسانی نسخههای خود را نیز خودکار نکنید؟
BotCity Actions چگونه کار می کند؟
عملکرد ما بهروزرسانیها را انجام میدهد، مستقر میشود و بهطور خودکار برای ارکستراتور ما، BotCity Maestro، بدون نیاز به پیادهسازی دستی منتشر میشود. همچنین، اگر هنوز با BotCity Maestro API آشنایی ندارید، برای استفاده بهتر، می توانید با مستندات ما در این پیوند مشورت کنید.
استفاده از تابع BotCity Actions در پروژه شما
گام به گام زیر را دنبال کنید. در مثال، پروژه هایی را در نظر می گیریم که با زبان پایتون ساخته شده اند. با این حال، می توانید از زبان های دیگر استفاده کنید و اگر علاقه مند هستید، ما در اسناد خود نمونه هایی برای پیکربندی پروژه ها در جاوا، جاوا اسکریپت و تایپ اسکریپت داریم.
[0] راه اندازی پروژه
در مرحله اول، باید یک ساختار پوشه به پروژه خود اضافه کنید. ابتدا پوشه را با نام دقیق ایجاد کنید .github
در ریشه پروژه شما در داخل آن پوشه، یک پوشه دیگر با نام دقیق ایجاد کنید workflows
.
این مشخصات مستقیماً از GitHub می آید و به این صورت تفسیر می شود که توابعی که باید اجرا شوند کجا هستند. برای توضیح بیشتر، به یاد داشته باشید که به اسناد مراجعه کنید.
[1] ایجاد اولین گردش کار
در این مرحله، ما فرض میکنیم که شما رباتهایی را توسعه دادهاید. اما اگر کمکی میخواهید، به این پیوند در مستندات ما نگاهی بیندازید. ما یک آموزش بسیار جالب در مورد چگونگی توسعه یک ربات با چارچوب های منبع باز خود داریم.
با این حال، ما اشاره می کنیم که می توانید از ربات های ساخته شده با فناوری های دیگر در ارکستراتور ما استفاده کنید، به عنوان مثال، جاوا، جاوا اسکریپت، سلنیوم، اسکریپت های bash و بسیاری دیگر.
یکی از اتفاقاتی که ما می توانیم در عمل خود در نظر بگیریم، خواهد بود push
روی شاخه main
. این به این معنی است که هر بار که تغییری در شاخه اصلی ایجاد می شود، می خواهید یک استقرار جدید در BotCity Maestro برای به روز رسانی ربات داشته باشید. اگر برخی از قوانین Git Flow و بهترین روشها را در نظر میگیرید، مانند این کار میکند main
شاخه تولید است.
در این مرحله داخل پوشه workflows
، بیایید فایل را ایجاد کنیم update_bot.yml
. و باید کد زیر را اضافه کنید تا دقیقاً تغییرات توضیح داده شده در بالای رویداد را در نظر بگیرید push
روی شاخه main
:
name: Update the latest version bot on BotCity Maestro.
on:
push:
branches:
- main
[2] اجرای ربات برای تابع BotCity Actions
برای اینکه بدانید چه چیزی باید به عملکرد اضافه شود، همچنین لازم است بدانید که برای استقرار ربات شما چه چیزی لازم است.
به عنوان مثال، با توجه به اینکه شما اتوماسیون خود را با چارچوب متن باز ما توسعه داده اید، ما باید پیش نیاز زیر را برآورده کنیم: ایجاد یک فایل فشرده با کد و وابستگی های ربات، که می تواند از اجرای اسکریپت ایجاد شود. ./build.sh
یا ./build.bat
، بسته به سیستم عامل. این اسکریپت در ریشه پروژه ایجاد شده از قالب دسکتاپ یا چارچوب وب ما قرار دارد.
بنابراین، باید اقدامات زیر را به تابع خود اضافه کنیم:
- اجرا در یک محیط (که در این مورد ما اوبونتو را به دلیل سهولت و سرعت آن انتخاب کردیم، اما شما می توانید مورد خاص خود را تجزیه و تحلیل کنید و بفهمید که آیا وابستگی های مهمی وجود دارد که باید در نظر گرفته شود و در صورت لزوم، در محیط ویندوز یا MacOS اجرا شود. به عنوان مثال)؛
- به فایل مجوز بدهید
build.sh
اعدام شود؛ - دستور را اجرا کنید
./build.sh
.
با این اقدامات جدید، فایل ما update_bot.yml
شبیه این خواهد شد:
name: Update the latest version bot on BotCity Maestro.
on:
push:
branches:
- main
jobs:
update-latest:
name: Update the latest version bot on BotCity Maestro.
# Running the latest version of Ubuntu.
runs-on: ubuntu-latest
steps:
# Checking out the project.
- uses: actions/checkout@v3
# Implemented executable permission to `.sh`
- name: Get permission to build.
run: chmod +x build.sh
# Execute to build.
- name: Execute to build.
run: ./build.sh
[3] با استفاده از تابع
توالی مراحلی که در فایل اضافه کردیم update_bot.yml
تا اینجا این بود که محیطی را برای ساختن تعریف کنیم و همچنین فایل فشرده ای را ایجاد کنیم که در Deploy در Maestro ارسال خواهیم کرد. با این حال، اکنون باید مراحل استفاده از تابع را پیکربندی کنیم.
در این مورد، دادههای مهمی را اضافه میکنیم تا استقرار با موفقیت انجام شود. آنها عبارتند از: botId، تکنولوژی (جایی که باید زبان استفاده شده در ربات خود را اطلاع دهید و در مثال ما پایتون را در نظر می گیریم) و botPath (مکانی که در ریشه پروژه قرار دارد، جایی که فایل فشرده در پلت فرم ارکستر ما آپلود می شود.
name: Update the latest version bot on BotCity Maestro.
on:
push:
branches:
- main
jobs:
update-latest:
name: Update the latest version bot on BotCity Maestro.
# Running the latest version of Ubuntu.
runs-on: ubuntu-latest
steps:
# Checking out the project.
- uses: actions/checkout@v3
# Implemented executable permission to `.sh`
- name: Get permission to build.
run: chmod +x build.sh
# Execute to build.
- name: Execute to build.
run: ./build.sh
- name: Using a Botcity action.
# Using the v1.0.0 version of botcity-action-bots
uses: botcity-dev/[email protected]
with:
# Use the update function.
update: true
# Bot Id in Maestro.
botId: 'example'
# Technology utilized in bot
technology: 'python'
# Path from the root of the project where the generated .zip/.jar will be.
botPath: './bot.zip'
env:
# These secrets must be configured in your repository.
LOGIN: ${{ secrets.LOGIN }}
SERVER: ${{ secrets.SERVER }}
KEY: ${{ secrets.KEY }}
توجه داشته باشید که ما همچنین برخی از متغیرهای محیطی مانند LOGIN، SERVER و KEY را اضافه کردیم. اینها رازهای مهمی برای شما هستند که بتوانید از BotCity Maestro استفاده کنید. بنابراین به یاد داشته باشید که این کلیدها را به صورت ایمن در مخزن خود تنظیم کنید.
از کجا می توانم نکات بیشتری پیدا کنم؟
میتوانید به راهنمای ایجاد شده در اسناد خود با نکات و راهنماییهای بیشتر در مورد نحوه استفاده از BotCity Actions، از جمله ایجاد نسخهها و موارد دیگر دسترسی پیدا کنید.
همچنین فراموش نکنید که به انجمن ما بپیوندید تا پروژه های متن باز خود را به اشتراک بگذارید و شک و تردید خود را با دیگران برطرف کنید. یادگیری از تجربیات شما بسیار جالب خواهد بود.