מדריך למשתמש של gactions

במדריך הזה מוסבר איך להשתמש בכלי שורת הפקודה gactions (CLI). בתרחישי שימוש נפוצים. לקבלת מידע על בניית פעולות מקצה לקצה, אפשר לעיין במאמר מסמכי התיעוד בנושא יצירת פעולות שיחה.

סנכרון פרויקט

כשמשתמשים ב-Actions SDK, gactions הוא הכלי לסנכרון פרויקטים של פעולות בין מסוף הפעולות לבין מערכת הקבצים המקומית.

הפעולות של gactions pull מייצאות פרויקט ממסוף הפעולות אל מערכת הקבצים המקומית ופעולות gactions push דוחפות פרויקט מהאחסון המקומי ממערכת הקבצים למסוף פעולות.

הורדת 'פעולות' ממסוף הפעולות

מריצים את הפקודה gactions pull כדי להעתיק את ההגדרה של פרויקט פעולות אל במערכת הקבצים.

אפשר להעביר בפקודה את השדה 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

קטע הקוד שלמעלה מראה איך לשלוף פעולה מטיוטה של פרויקט. זו יכולה גם לשלוף מגרסה ספציפית של הפעולה. גרסה מייצג עותק שנשלח של פרויקט 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

טיוטת פרויקט במסוף הפעולות ב-push

מריצים את הפקודה gactions push כדי להעביר את השינויים ממערכת הקבצים המקומית לטיוטה של על הפעולה במסוף. התהליך הזה יכול להיות שימושי במהלך הפיתוח, להציג את השינויים המשתקפים במסוף הפעולות, בלי להשפיע על בגרסה שמוצגת לבדיקה.

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 כדי להעתיק את קובצי התצורה המקומיים אל פרויקט פעולות.
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. למידע נוסף על סטטוסים של גרסאות, אפשר לעיין במאמר בנושא מדינה (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 מאפשרת לפרוס את הפרויקט לבדיקה סימולטור פעולות או פריסה בערוצי הפצה בגרסת אלפא/בטא או ייצור.

תצוגה מקדימה בסימולטור

מריצים את הפקודה gactions deploy preview כדי לפרוס את הפעולה בתצוגה מקדימה. לבדוק את הפעולה במסוף, בלי לעדכן בפועל את הגרסה פרויקט הפעולה או ההשפעה על מפתחים אחרים. במילים אחרות, אף אחד שינויים שיבוצעו במערכת הקבצים המקומית יופצו לגרסאות שנפרסו של פרויקט הפעולות, אבל הם זמינים לבדיקה בגרסת תצוגה מקדימה.

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 כדי ליצור גרסאות של גרסאות לערוצי אלפא/בטא/מוצר שאפשר לנהל דרך הקטע פריסה במסוף הפעולות. אפשר להשתמש בה כדי לבדוק את המועמדים לפרסום של הפעולה בגרסת אלפא או בטא ערוצים, ולהעביר את המועמד לפרסום לסביבת הייצור כשתהיו מרוצים במשוב.

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

מריצים את הפקודה gactions encrypt כדי להוסיף בבטחה סודות לקוח לחשבון OAuth2 של קוד הרשאה כדי להצפין סודות קיימים באמצעות מפתח הצפנה חדש, או להצפין אותו.

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