Neste guia, mostramos como utilizar a ferramenta de interface de linha de comando (CLI) dos gactions em cenários de uso comuns. Para ver informações sobre como criar ações de ponta a ponta, consulte a documentação de Build de ações de conversa.
Sincronização de projetos
Ao usar o SDK do Actions, os gactions são sua ferramenta para sincronizar projetos de ação entre o Console do Actions e o sistema de arquivos local.
As operações gactions pull
exportam um projeto do Console do Actions para o
sistema de arquivos local, e as operações gactions push
enviam um projeto do sistema de arquivos
local para o Console do Actions.
Fazer o download de ações no Console do Actions
Execute gactions pull
para copiar a configuração de um projeto do Actions para o sistema de arquivos
local.
O project-id
do projeto que você quer copiar pode ser transmitido na linha de
comando ou escrito no arquivo settings/settings.yaml
. Se ambos estiverem presentes, a
CLI dá precedência ao valor transmitido como uma opção.
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/sdkls -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 settingsvi 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 snippet de código acima mostra como extrair uma ação do rascunho do projeto. Também é possível extrair de uma versão específica da ação. Uma versão representa uma cópia enviada do seu projeto do Actions, que pode ser implantada em um canal de lançamento.
A flag --version-id
especifica qual versão extrair.
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/sdkls -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
Use a sinalização --force
se quiser substituir cópias locais de arquivos sem
precisar de confirmação. Use a sinalização --clean
para remover qualquer um dos arquivos locais que não estejam presentes no rascunho ou na versão remoto. Use-os juntos para ter uma
cópia exata do projeto do Console do 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/sdkgactions 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
Enviar ações para o rascunho do projeto do Console do Actions
Execute gactions push
para enviar as mudanças do sistema de arquivos local para o rascunho da
ação no console. Esse processo pode ser útil durante o desenvolvimento para
conferir as mudanças refletidas no Console do Actions, sem afetar a
versão exibida para testes.
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"
Importar um projeto já existente de um sistema de gerenciamento de código-fonte
Se você quiser trabalhar em um projeto atual a partir de uma revisão em um sistema de controle de versões:
- Confira a revisão de destino (depende do sistema).
- Substitua o valor de
projectId
no objetosettings.yaml
do projeto. - Se quiser, execute
gactions push
para copiar os arquivos de configuração locais para o projeto do 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
Listar versões
Execute gactions versions list
para ver detalhes sobre as versões da sua ação.
Para saber mais sobre os status da versão, consulte a referência de Estado.
gactions versions list
Version Status Last Modified By Modified On
1 Created your-email@your-domain.com 2020-09-28 20:22:04
Se o status da implantação indicar "Falha na criação", você pode ver mais detalhes sobre isso no Console, na seção "Versão".
Implantar projetos
O comando gactions deploy
permite implantar seu projeto para teste no
simulador do Actions ou implantar em canais de lançamento Alfa, Beta ou de produção.
Visualizar no simulador
Execute gactions deploy preview
para implantar a ação na visualização, o que permite
testar a ação no console, sem realmente atualizar a versão do
projeto ou afetar outros desenvolvedores. Em outras palavras, nenhuma das
mudanças feitas no sistema de arquivos local é propagada para as versões implantadas
do projeto do Actions, mas elas estão disponíveis para teste em uma versão de pré-lançamento.
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
Criar versões
Execute gactions deploy
para criar versões para canais Alfa/Beta/prod que podem ser gerenciadas na seção Implantar no Console do Actions.
Use-o para testar as candidatas a lançamento da sua Ação com os canais Alfa e/ou Beta
e mova o candidato a lançamento para produção quando estiver satisfeito
com o feedback.
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.
Como listar canais de lançamento
Execute gactions release-channels list
para visualizar detalhes sobre os canais de lançamento
da sua Ação. Use esse comando para identificar a versão
implantada ou pendente em cada canal.
gactions release-channels list
Release Channel Current Version Pending Version
alpha 1 N/A
Vinculação de contas
Os comandos gactions encrypt
e gactions decrypt
permitem administrar as chaves secretas do cliente do OAuth2. Estes comandos são específicos para a vinculação de contas.
Criptografar chaves secretas do cliente de vinculação de contas do OAuth2
Execute gactions encrypt
para adicionar chaves secretas do cliente com segurança aos fluxos de vinculação de conta OAuth2 com código de autenticação ou para criptografar as chaves secretas atuais com uma nova chave de criptografia.
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
Acessar o valor de texto simples de chaves secretas criptografadas de vinculação de conta.
Execute gactions decrypt
se for necessário acessar temporariamente o valor em texto simples do secret do projeto. O comando mostra o valor em um arquivo de texto de sua escolha.
Recomendamos que o arquivo de destino esteja fora da pasta raiz do projeto
para evitar vazamentos acidentais do valor em texto simples.
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