راهنمای کاربر gactions

این راهنما به شما نشان می دهد که چگونه از ابزار رابط خط فرمان gactions (CLI) در سناریوهای استفاده رایج استفاده کنید. برای کسب اطلاعات در مورد ساختن اقدامات انتها به انتها، به مستندات ساخت کنش های مکالمه مراجعه کنید.

همگام سازی پروژه

هنگام استفاده از Actions SDK، gactions ابزار شما برای همگام سازی پروژه های Action بین کنسول Actions و سیستم فایل محلی شما است.

gactions pull یک پروژه را از کنسول Actions به سیستم فایل محلی شما صادر می کند و عملیات gactions push یک پروژه را از سیستم فایل محلی شما به کنسول Actions منتقل می کند.

Actions را از کنسول Actions دانلود کنید

gactions pull اجرا کنید تا پیکربندی یک پروژه Actions را در سیستم فایل محلی کپی کنید.

project-id پروژه ای که می خواهید کپی کنید را می توان در خط فرمان ارسال کرد یا در فایل settings/settings.yaml نوشت. اگر هر دو وجود داشته باشند، CLI به مقدار ارسال شده به عنوان یک گزینه اولویت می دهد.

mkdir -p myAction/sdk
cd myAction/sdk
gactions pull --project-id my-project-id
Pulling your project files from Draft for a project id: "my-project-id"
✔ Done. You should see the files written in path/to/myAction/sdk
ls -l
total 8
drwxr-x---  3 user  primarygroup   96 May  7 10:00 actions
drwxr-x---  4 user  primarygroup  128 May  7 10:00 custom
-rw-r-----  1 user  primarygroup   15 May  7 10:00 manifest.yaml
drwxr-x---  3 user  primarygroup   96 May  7 10:00 settings
vi settings/settings.yaml
// change projectId to "my-other-project-id"
gactions pull
Pulling your project files from Draft for a project id: "my-other-project-id"
path/to/myAction/sdk/manifest.yaml already exists. Would you like to overwrite it?. [y/n]
...
✔ Done. You should see the files written in path/to/myAction/sdk

قطعه کد بالا نحوه بیرون کشیدن یک Action از پیش نویس پروژه را نشان می دهد. همچنین این امکان وجود دارد که از نسخه خاصی از Action خود خارج شوید. یک نسخه نشان دهنده یک کپی ارسال شده از پروژه Actions شما است که می تواند در یک کانال انتشار مستقر شود.

پرچم --version-id مشخص می کند که کدام نسخه باید کشیده شود.

mkdir -p myAction/sdk
cd myAction/sdk
gactions pull --project-id my-project-id --version-id my-version-id
Pulling version "my-version-id" of the project "my-project-id" from Actions Console...
✔ Done. You should see the files written in path/to/myAction/sdk
ls -l
total 8
drwxr-x---  3 user  primarygroup   96 May  7 10:00 actions
drwxr-x---  4 user  primarygroup  128 May  7 10:00 custom
-rw-r-----  1 user  primarygroup   15 May  7 10:00 manifest.yaml
drwxr-x---  3 user  primarygroup   96 May  7 10:00 settings

اگر می‌خواهید نسخه‌های محلی فایل را بدون درخواست تأیید بازنویسی کنید، از پرچم --force استفاده کنید. از پرچم --clean برای حذف هر یک از فایل های محلی که در پیش نویس یا نسخه راه دور وجود ندارند استفاده کنید. از آنها برای دریافت یک کپی دقیق از پروژه کنسول Actions استفاده کنید.

touch local_file.txt
gactions pull --force
Pulling your project files from Draft for a project id: "my-project-id"
[WARNING] 2020/05/07 17:34:32 path/to/myAction/sdk/local_file.txt is not present in the draft of your Action. To remove, run pull with --clean flag.
✔ Done. You should see the files written in path/to/myAction/sdk
gactions pull --force --clean
Pulling your project files from Draft for a project id: "my-project-id"
[WARNING] 2020/05/07 17:43:44 path/to/myAction/sdk/local_file.txt is not present in the draft of your Action. Removing path/to/myAction/sdk/local_file.txt.
✔ Done. You should see the files written in path/to/myAction/sdk

پیش نویس پروژه کنسول Actions به Actions را فشار دهید

اجرای gactions push برای فشار دادن تغییرات از سیستم فایل محلی به پیش نویس اکشن شما در کنسول. این فرآیند می تواند در طول توسعه برای مشاهده تغییرات شما که در کنسول Actions منعکس شده است، بدون تأثیر بر نسخه ای که برای آزمایش ارائه می شود، مفید باشد.

gactions push
Pushing your project files to your Actions console draft for a project id: "my-project-id". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console: https://console.actions.google.com/project/my-project-id/overview to view your project. If you want to test your changes in the simulator, run "gactions deploy preview"

یک پروژه موجود را از یک سیستم مدیریت کد منبع وارد کنید

اگر می خواهید روی یک پروژه موجود از یک ویرایش در یک سیستم کنترل نسخه کار کنید:

  1. بازبینی هدف را بررسی کنید (بستگی به سیستم دارد).
  2. مقدار projectId را در settings.yaml پروژه جایگزین کنید.
  3. به صورت اختیاری، gactions push اجرا کنید تا فایل های پیکربندی محلی را در پروژه Actions کپی کنید.
git clone https://github.com/my/repo.git
Cloning into 'repo'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 51 (delta 3), reused 3 (delta 1), pack-reused 41
Receiving objects: 100% (51/51), 36.86 KiB | 3.69 MiB/s, done.
Resolving deltas: 100% (11/11), done.
cd repo/sdk/
vi settings/settings.yaml
// change the value of `projectId`
gactions push

نسخه های فهرست شده

gactions versions list اجرا کنید تا جزئیات مربوط به نسخه‌های Action خود را مشاهده کنید. برای کسب اطلاعات بیشتر در مورد وضعیت نسخه، به مرجع State مراجعه کنید.

gactions versions list
Version         Status          Last Modified By        Modified On     
1           Created     your-email@your-domain.com  2020-09-28 20:22:04

اگر وضعیت استقرار شما می‌گوید «ایجاد انجام نشد»، می‌توانید جزئیات بیشتری در مورد آن در کنسول در بخش «انتشار» دریافت کنید.

استقرار پروژه ها

دستور gactions deploy به شما امکان می دهد پروژه خود را برای آزمایش در شبیه ساز Actions یا استقرار در کانال های انتشار آلفا/بتا/تولید اجرا کنید.

پیش نمایش در شبیه ساز

اجرای gactions deploy preview برای استقرار Action خود در «پیش‌نمایش» اجرا می‌کند، که به شما امکان می‌دهد Action خود را در کنسول آزمایش کنید، بدون اینکه واقعاً نسخه پروژه Action خود را به‌روزرسانی کنید یا روی دیگر توسعه‌دهندگان تأثیر بگذارد. به عبارت دیگر، هیچ یک از تغییراتی که در سیستم فایل محلی خود ایجاد می کنید، به نسخه های مستقر شده پروژه Actions شما منتشر نمی شود، اما برای آزمایش در نسخه پیش نمایش در دسترس هستند.

gactions deploy preview
Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview

انتشارات ایجاد کنید

اجرای gactions deploy برای ایجاد نسخه‌های منتشر شده برای کانال‌های آلفا/بتا/پرود که می‌توانید از طریق بخش Deploy در کنسول Actions مدیریت کنید. از آن برای آزمایش نامزدهای انتشار اکشن خود با کانال‌های آلفا و/یا بتا استفاده کنید و زمانی که از بازخورد راضی بودید، نامزد انتشار را به مرحله تولید منتقل کنید.

gactions deploy alpha
Deploying your project files to a actions.channels.Alpha channel for a project id: "my-project-id"
Sending configuration files
Waiting for server to respond.
✔ Done. Your Action was deployed to actions.channels.Alpha channel. You can check status of deployment in the Actions Console.

فهرست کانال های انتشار

برای مشاهده جزئیات gactions release-channels list اجرا کنید. می توانید از این دستور برای شناسایی نسخه مستقر شده یا در انتظار هر کانال استفاده کنید.

gactions release-channels list
Release Channel             Current Version             Pending Version
alpha                   1                     N/A

پیوند دادن حساب

دستورات gactions encrypt و gactions decrypt به شما امکان می دهند اسرار مشتری OAuth2 را مدیریت کنید. این دستورات مختص پیوند حساب هستند.

رمزگذاری حساب OAuth2 که اسرار مشتری را پیوند می دهد

برای افزودن ایمن اسرار مشتری به جریان‌های پیوندی حساب OAuth2 یا برای رمزگذاری اسرار موجود با یک کلید رمزگذاری جدید، gactions encrypt رمزگذاری کنید.

gactions encrypt
Write your secret: *********************
Encrypting your client secret
path/to/myAction/sdk/settings/accountLinkingSecret.yaml already exists. Would you like to overwrite it?. [y/n]
y
✔ Done. Encrypted secret was written to path/to/myAction/sdk/settings/accountLinkingSecret.yaml

به مقدار متن ساده اسرار پیوند حساب رمزگذاری شده دسترسی پیدا کنید.

اگر نیاز به دسترسی موقت به مقدار متن ساده راز پروژه دارید gactions decrypt کنید. دستور مقدار را در یک فایل متنی انتخابی شما چاپ می کند. توصیه می کنیم فایل مقصد خارج از پوشه اصلی پروژه باشد تا از هرگونه نشت تصادفی مقدار متن ساده جلوگیری شود.

gactions decrypt ../../burn_after_read.txt
Decrypting your client secret
✔ Done. Check path/above/myActions/burn_after_read.txt to find decrypted client secret.
vi ../../burn_after_read.txt
rm ../../burn_after_read.txt