panduan pengguna Gaction

Panduan ini menunjukkan cara menggunakan alat antarmuka command line (CLI) gaction dalam skenario penggunaan umum. Untuk informasi tentang cara membuat Action secara menyeluruh, lihat dokumentasi Build Action Percakapan.

Sinkronisasi project

Saat menggunakan Actions SDK, gaction adalah alat Anda untuk menyinkronkan project Action antara konsol Actions dan sistem file lokal Anda.

Operasi gactions pull mengekspor project dari konsol Actions ke sistem file lokal Anda, dan operasi gactions push akan mengirim project dari sistem file lokal Anda ke konsol Actions.

Download Tindakan dari konsol Actions

Jalankan gactions pull untuk menyalin konfigurasi project Action ke sistem file lokal.

project-id project yang ingin Anda salin dapat diteruskan pada command line, atau ditulis dalam file settings/settings.yaml. Jika keduanya ada, CLI akan mengutamakan nilai yang diteruskan sebagai opsi.

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

Cuplikan kode di atas menunjukkan cara mengambil Action dari draf project. Anda juga dapat mengambil dari versi tertentu Action Anda. Versi mewakili salinan project Action Anda yang sudah dikirim, yang dapat di-deploy ke saluran rilis.

Flag --version-id menentukan versi yang akan ditarik.

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

Gunakan flag --force jika Anda ingin menimpa salinan lokal file tanpa diminta konfirmasi. Gunakan tanda --clean untuk menghapus file lokal apa pun yang tidak ada dalam Draf atau Versi jarak jauh. Gunakan keduanya bersama-sama untuk mendapatkan salinan yang tepat dari project Konsol 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

Mengirim draf project konsol Actions ke Action

Jalankan gactions push untuk mengirim perubahan dari sistem file lokal ke Draf Action Anda di konsol. Proses ini dapat berguna selama pengembangan untuk melihat perubahan yang tercermin di konsol Actions, tanpa memengaruhi versi yang ditayangkan untuk pengujian.

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"

Mengimpor project yang ada dari sistem pengelolaan kode sumber

Jika Anda ingin mengerjakan project yang sudah ada dari revisi dalam sistem kontrol versi:

  1. Lihat revisi target (bergantung pada sistem).
  2. Mengganti nilai projectId dalam settings.yaml project.
  3. Secara opsional, jalankan gactions push untuk menyalin file konfigurasi lokal ke project Action.
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

Versi listingan

Jalankan gactions versions list untuk melihat detail tentang versi Action Anda. Untuk mempelajari status versi lebih lanjut, lihat referensi untuk Status.

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

Jika status deployment menunjukkan "Pembuatan gagal", Anda bisa mendapatkan detail selengkapnya tentangnya di Konsol di bagian "Rilis".

Men-deploy project

Perintah gactions deploy memungkinkan Anda men-deploy project untuk diuji di simulator Action atau men-deploy ke saluran rilis alfa/beta/produksi.

Pratinjau di simulator

Jalankan gactions deploy preview untuk men-deploy Action ke "pratinjau", yang memungkinkan Anda menguji Action di konsol, tanpa benar-benar mengupdate versi project Action Anda atau memengaruhi developer lain. Dengan kata lain, tidak ada perubahan yang Anda buat di sistem file lokal yang disebarkan ke versi project Action yang di-deploy, tetapi tersedia untuk diuji pada versi pratinjau.

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

Membuat rilis

Jalankan gactions deploy untuk membuat rilis versi saluran alfa/beta/prod yang dapat Anda kelola melalui bagian Deploy di Konsol Actions. Gunakan untuk menguji kandidat rilis Action Anda dengan saluran alfa dan/atau beta, dan pindahkan kandidat rilis ke produksi jika Anda sudah puas dengan masukan tersebut.

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.

Mencantumkan saluran rilis

Jalankan gactions release-channels list untuk melihat detail tentang saluran rilis untuk Action Anda. Anda dapat menggunakan perintah ini untuk mengidentifikasi versi yang di-deploy atau tertunda ke setiap saluran.

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

Penautan akun

Perintah gactions encrypt dan gactions decrypt memungkinkan Anda mengelola rahasia klien OAuth2. Perintah ini khusus untuk penautan akun.

Mengenkripsi rahasia klien penautan akun OAuth2

Jalankan gactions encrypt untuk menambahkan rahasia klien secara aman untuk alur penautan akun OAuth2 kode autentikasi, atau untuk mengenkripsi secret yang ada dengan kunci enkripsi baru.

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

Akses nilai teks biasa dari rahasia penautan akun terenkripsi.

Jalankan gactions decrypt jika Anda perlu mengakses sementara nilai teks biasa rahasia project. Perintah ini mencetak nilai ke file teks pilihan Anda. Sebaiknya file tujuan berada di luar folder root project, untuk menghindari kebocoran nilai teks biasa yang tidak disengaja.

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