Neste guia, mostramos como usar a ferramenta de interface de linha de comando (CLI) do gactions em cenários de uso comuns. Para mais informações sobre como criar ações de ponta a ponta, consulte a documentação Build de ações de conversa.
Sincronização de projetos
Ao usar o SDK do Actions, o gactions é sua ferramenta para sincronizar projetos de ação entre o Console do Actions e o sistema de arquivos local.
As operações do gactions pull
exportam um projeto do Console do Actions para
no sistema de arquivos local, e as operações gactions push
enviam um projeto por push
do sistema de arquivos para o Console do Actions.
Fazer o download das ações no Console do Actions
Execute gactions pull
para copiar a configuração de um projeto do Actions para o local
no sistema de arquivos.
O project-id
do projeto que você quer copiar pode ser transmitido no comando
ou no arquivo settings/settings.yaml
. Se ambos estiverem presentes, o
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. Está também é possível extrair de uma versão específica da sua 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 vai ser extraída.
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 as cópias locais do arquivo sem
quando a confirmação
é solicitada. Use a sinalização --clean
para remover os locais
arquivos que não estão presentes no rascunho ou versão remoto. Use-os em conjunto para ter um
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 mudanças do sistema de arquivos local para o rascunho de
sua ação no console. Esse processo pode ser útil durante o desenvolvimento para
visualizar as alterações refletidas no Console do Actions, sem afetar
versão de teste
veiculada.
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 existente de um sistema de gerenciamento de código-fonte
Se você quiser trabalhar em um projeto já existente em uma revisão em um controle de versões sistema:
- Confira a revisão de destino (depende do sistema).
- Substitua o valor de
projectId
nosettings.yaml
do projeto. - Opcionalmente, 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 conferir detalhes sobre as versões da sua ação.
Para saber mais sobre os status de 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", confira mais detalhes sobre isso no Console na seção "Versão" nesta seção.
Implantar projetos
O comando gactions deploy
permite implantar seu projeto para testar no
Simulador do Actions ou implantação nos canais de lançamento alfa/beta/de produção.
Visualizar no simulador
Execute gactions deploy preview
para implantar a ação em "visualização", o que permite
você testa a ação no console, sem realmente atualizar a versão
seu projeto de ação ou impactar outros desenvolvedores. Em outras palavras, nenhuma das
alterações feitas no seu sistema de arquivos local são propagadas para as versões implantadas
do seu projeto do Actions, mas 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 lançamentos de versões para canais Alfa/Beta/de produção.
que você pode gerenciar na seção Implantar do Console do Actions.
Use para testar candidatos a lançamento da sua ação com a versão Alfa e/ou Beta.
canais e mover o candidato de 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 conferir detalhes sobre os canais de lançamento
para sua ação. Use esse comando para identificar a versão
implantados ou pendentes 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 que você administre o OAuth2
chaves secretas dos clientes. Esses comandos são específicos para a vinculação de contas.
Criptografar chaves secretas do cliente para vinculação de contas OAuth2
Execute gactions encrypt
para adicionar chaves secretas dos clientes à conta OAuth2 do código de autenticação com segurança
fluxos de associação ou criptografar secrets 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
Acesse o valor de texto simples das chaves secretas criptografadas de vinculação de conta.
Execute gactions decrypt
se você precisar acessar temporariamente o valor de texto simples de
segredo do projeto. O comando imprime 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 qualquer vazamento acidental do valor de 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