hướng dẫn sử dụng gactions

Hướng dẫn này cho bạn biết cách sử dụng công cụ giao diện dòng lệnh (CLI) của gactions trong các trường hợp sử dụng phổ biến. Để biết thông tin về cách xây dựng tính năng Hành động toàn diện, hãy xem tài liệu về cách Tạo Hành động trò chuyện.

Đồng bộ hoá dự án

Khi sử dụng Actions SDK, gactions là công cụ để đồng bộ hoá các dự án Hành động giữa bảng điều khiển Actions và hệ thống tệp cục bộ của bạn.

Thao tác gactions pull sẽ xuất một dự án từ bảng điều khiển Actions sang hệ thống tệp cục bộ, còn thao tác gactions push sẽ đẩy dự án từ hệ thống tệp cục bộ sang bảng điều khiển Actions.

Tải Thao tác xuống qua bảng điều khiển Actions

Chạy gactions pull để sao chép cấu hình của dự án Actions (Hành động) vào hệ thống tệp cục bộ.

Bạn có thể truyền project-id của dự án muốn sao chép vào dòng lệnh hoặc ghi trong tệp settings/settings.yaml. Nếu có cả hai, CLI sẽ ưu tiên cho giá trị được chuyển dưới dạng tuỳ chọn.

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

Đoạn mã trên cho biết cách lấy Hành động từ bản nháp dự án. Bạn cũng có thể lấy dữ liệu từ một phiên bản cụ thể của Hành động. Một phiên bản đại diện cho một bản sao đã gửi của dự án Actions (Hành động), có thể được triển khai cho một kênh phát hành.

Cờ --version-id chỉ định phiên bản cần lấy.

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

Sử dụng cờ --force nếu bạn muốn ghi đè các bản sao cục bộ của tệp mà không được yêu cầu xác nhận. Sử dụng cờ --clean để xoá mọi tệp cục bộ không có trong Bản nháp hoặc Phiên bản từ xa. Hãy sử dụng các dữ liệu này cùng nhau để có được bản sao chính xác của dự án trên bảng điều khiển 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

Bản nháp dự án của bảng điều khiển "Đẩy hành động" sang thao tác trên bảng điều khiển

Chạy gactions push để chuyển các thay đổi từ hệ thống tệp cục bộ sang Bản nháp của Hành động trong bảng điều khiển. Quá trình này có thể hữu ích trong quá trình phát triển để xem các thay đổi được phản ánh trong bảng điều khiển Actions mà không ảnh hưởng đến phiên bản được phân phát cho mục đích kiểm thử.

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"

Nhập dự án hiện có từ hệ thống quản lý mã nguồn

Nếu bạn muốn làm việc trên một dự án hiện có từ một bản sửa đổi trong hệ thống quản lý phiên bản:

  1. Hãy xem bản sửa đổi mục tiêu (phụ thuộc vào hệ thống).
  2. Thay thế giá trị của projectId trong settings.yaml của dự án.
  3. Bạn có thể chạy gactions push để sao chép các tệp cấu hình cục bộ vào dự án Actions (Hành động) nếu muốn.
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

Phiên bản trang thông tin

Chạy gactions versions list để xem thông tin chi tiết về các phiên bản của Hành động. Để tìm hiểu thêm về trạng thái phiên bản, hãy tham khảo tài liệu về Trạng thái.

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

Nếu trạng thái triển khai là "Không tạo được", bạn có thể xem thêm thông tin chi tiết ở phần "Bản phát hành" trong Console.

Triển khai dự án

Lệnh gactions deploy cho phép bạn triển khai dự án để kiểm thử trong Trình mô phỏng hành động hoặc triển khai cho các kênh phát hành alpha/beta/chính thức.

Xem trước trong trình mô phỏng

Chạy gactions deploy preview để triển khai Hành động của bạn ở chế độ "xem trước", cho phép bạn kiểm thử Hành động của mình trong bảng điều khiển mà không thực sự cập nhật phiên bản của dự án Hành động đó hoặc tác động đến các nhà phát triển khác. Nói cách khác, mọi thay đổi bạn thực hiện trong hệ thống tệp cục bộ sẽ không được áp dụng cho các phiên bản đã triển khai của dự án Actions (Hành động), nhưng bạn có thể kiểm thử các thay đổi đó trên phiên bản xem trước.

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

Tạo bản phát hành

Chạy gactions deploy để tạo bản phát hành phiên bản cho các kênh alpha/beta/sản phẩm mà bạn có thể quản lý thông qua phần Triển khai trong bảng điều khiển Actions. Hãy sử dụng công cụ này để kiểm thử các bản phát hành đề xuất của Hành động bằng các kênh alpha và/hoặc beta, đồng thời chuyển bản phát hành dùng thử sang phiên bản chính thức khi bạn hài lòng với ý kiến phản hồi.

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.

Kênh phát hành trang thông tin

Chạy gactions release-channels list để xem thông tin chi tiết về các kênh phát hành cho Hành động của bạn. Bạn có thể sử dụng lệnh này để xác định phiên bản được triển khai hoặc đang chờ xử lý cho từng kênh.

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

Liên kết tài khoản

Các lệnh gactions encryptgactions decrypt cho phép bạn quản trị mã thông báo bí mật của ứng dụng khách OAuth2. Đây là những lệnh dành riêng cho việc liên kết tài khoản.

Mã hoá mật khẩu ứng dụng khách liên kết tài khoản OAuth2

Chạy gactions encrypt để thêm mật khẩu ứng dụng khách một cách an toàn cho quy trình liên kết tài khoản OAuth2 bằng mã xác thực hoặc để mã hoá các khoá bí mật hiện có bằng khoá mã hoá mới.

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

Truy cập vào giá trị văn bản thuần tuý của các khoá bí mật liên kết tài khoản đã mã hoá.

Hãy chạy gactions decrypt nếu bạn cần tạm thời truy cập vào giá trị văn bản thuần tuý của khoá bí mật của dự án. Lệnh in giá trị này vào một tệp văn bản mà bạn chọn. Tệp đích nên nằm ngoài thư mục gốc của dự án để tránh trường hợp vô tình rò rỉ giá trị văn bản thuần tuý.

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