gactions के इस्तेमाल के लिए गाइड

इस गाइड में, इस्तेमाल के सामान्य मामलों में gactions कमांड लाइन इंटरफ़ेस (सीएलआई) टूल को इस्तेमाल करने का तरीका बताया गया है. बिल्डिंग कार्रवाइयों के बारे में पूरी जानकारी के लिए, बातचीत की सुविधा वाली कार्रवाइयों का बिल्ड दस्तावेज़ देखें.

प्रोजेक्ट सिंक्रनाइज़ेशन

Actions SDK टूल का इस्तेमाल करते समय, gaction एक ऐसा टूल है जिसकी मदद से, Actions कंसोल और आपके लोकल फ़ाइल सिस्टम के बीच, ऐक्शन प्रोजेक्ट सिंक किए जा सकते हैं.

gactions pull कार्रवाइयां किसी प्रोजेक्ट को Actions कंसोल से अपने लोकल फ़ाइल सिस्टम में एक्सपोर्ट करती हैं. gactions push कार्रवाइयां किसी प्रोजेक्ट को आपके लोकल फ़ाइल सिस्टम से Actions कंसोल में पुश करती हैं.

Actions कंसोल से कार्रवाइयां डाउनलोड करें

लोकल फ़ाइल सिस्टम में किसी ऐक्शन प्रोजेक्ट के कॉन्फ़िगरेशन को कॉपी करने के लिए, gactions pull चलाएं.

जिस प्रोजेक्ट को कॉपी करना है उसका project-id कमांड लाइन पर पास किया जा सकता है या settings/settings.yaml फ़ाइल में लिखा जा सकता है. अगर दोनों विकल्प मौजूद हैं, तो सीएलआई, विकल्प के तौर पर दी गई वैल्यू को प्राथमिकता देता है.

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

ऊपर दिया गया कोड स्निपेट, प्रोजेक्ट ड्राफ़्ट से कार्रवाई को पाने का तरीका दिखाता है. अपनी सेट की गई कार्रवाई के किसी खास वर्शन से भी ऐसा किया जा सकता है. वर्शन आपके ऐक्शन प्रोजेक्ट की सबमिट की गई कॉपी दिखाता है, जिसे किसी रिलीज़ चैनल पर डिप्लॉय किया जा सकता है.

--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

कार्रवाइयों के कंसोल प्रोजेक्ट के ड्राफ़्ट में पुश ऐक्शन

लोकल फ़ाइल सिस्टम से कंसोल में मौजूद अपनी सेट की गई कार्रवाई के ड्राफ़्ट में बदलावों को पुश करने के लिए, 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. प्रोजेक्ट की settings.yaml में projectId की वैल्यू बदलें.
  3. इसके अलावा, लोकल कॉन्फ़िगरेशन फ़ाइलों को Actions प्रोजेक्ट में कॉपी करने के लिए, 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 चलाएं. वर्शन की स्थितियों के बारे में ज़्यादा जानने के लिए, राज्य का रेफ़रंस देखें.

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

अगर आपको डिप्लॉयमेंट की स्थिति "बनाने की प्रोसेस पूरी नहीं हुई" के तौर पर दिखती है, तो आप Console में "रिलीज़" सेक्शन में जाकर, इसके बारे में ज़्यादा जानकारी पा सकते हैं.

प्रोजेक्ट डिप्लॉय करना

gactions deploy निर्देश से आप अपने प्रोजेक्ट को, ऐक्शन सिम्युलेटर में टेस्ट करने के लिए डिप्लॉय कर सकते हैं या ऐल्फ़ा/बीटा/प्रोडक्शन रिलीज़ चैनल पर डिप्लॉय कर सकते हैं.

सिम्युलेटर में झलक देखें

अपनी सेट की गई कार्रवाई को "झलक" पर डिप्लॉय करने के लिए, gactions deploy preview चलाएं. इससे, ऐक्शन प्रोजेक्ट के वर्शन को अपडेट किए बिना या दूसरे डेवलपर पर असर डाले बिना, कंसोल में अपनी सेट की गई कार्रवाई को टेस्ट किया जा सकता है. दूसरे शब्दों में कहें, तो आपके लोकल फ़ाइल सिस्टम में किया जाने वाला कोई भी बदलाव, आपके 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 चलाएं जिन्हें आप 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