Conectores

Testando o Couchbase com GitHub Actions e CBSH

5 MIN DE LEITURA

Recentemente, tenho trabalhado em um projeto empolgante, um provedor de capacidade wasmCloud para o Couchbase. Estamos construindo isso de forma aberta com o pessoal incrível da Cosmonic. Você pode conferir o código em nosso repositório.

E logo no início de cada projeto surge o tópico do ciclo de vida de desenvolvimento e sua infraestrutura. Como executamos automaticamente os testes do nosso projeto envolvendo um Servidor Couchbase? O GitHub fornece Ações que nos permite executar código em vários momentos.

Para criar uma ação, você pode clicar na guia Action do seu repositório ou adicionar um arquivo em .github/workflows. Há várias maneiras diferentes de acionar a execução da ação. Como em cada git push. Eu só quero algo simples que garanta que meu cluster do Couchbase ainda esteja aqui e acessível por meio de segredos específicos ou variáveis de ambiente. Então aqui vou apenas escolher uma expressão cron básica. A ação será executada toda segunda-feira à meia-noite.

Agora, sobre segredos e variáveis de ambiente. É claro que alguns deles são, bem, segredos. E devem ser gerenciados como tais. Felizmente, o GitHub pensou em tudo e nos dá uma maneira de configurar segredos ou variáveis de ambiente por repositório ou organização. Se você for em Settings/Secrets and variables/actions, deverá ver a seguinte página:

Isso permite que você defina qualquer segredo ou variável de ambiente que possa precisar para suas ações, e muito mais. Aqui você pode ver que eu configurei:

  • COUCHBASE_BUCKET – O nome do Bucket que eu quero usar
  • COUCHBASE_CONNECTION_STRING – A string de conexão completa do Couchbase, conforme fornecida no conectar Aba Capella, por exemplo
  • COUCHBASE_USERNAME – O nome de usuário usado para conectar ao cluster
  • COUCHBASE_PASSWORD – A senha usada para conectar ao cluster

Agora chega o momento de escrever o teste. Tudo o que quero fazer é garantir que tenho uma conexão funcionando com um cluster, para mostrar aos meus colaboradores como os segredos/variáveis de ambiente podem ser usados. Uma maneira simples de testar uma conexão é usar o Shell do Couchbase também conhecido como cbsh. Ele pode ser instalado facilmente no Ubuntu. Tudo o que você precisa fazer é baixá-lo e descompactá-lo. Isso pode ser feito em poucas etapas:

A partir daí, o shell fica disponível simplesmente executando ./cbsh. Note aqui que o executa-em a opção nos indica qual container usar para executar a ação, concha está definido como bash e ambiente torna os segredos disponíveis como variáveis de ambiente.

Como este shell é baseado em nushell e uma senha será solicitada, eu não consegui passá-la diretamente após a invocação assim:

Como isso não funciona, eu tive que usar um cbsh em vez disso, o arquivo de configuração. E, infelizmente, a sintaxe é um pouco complicada para a formatação de texto multilinha e redirecionamento. Aqui, estou criando uma nova variável chamada CONFIGURAÇÃO, que contém os valores das variáveis de ambiente, colocando o resultado em $GITHUB_ENV, o que me permite passá-lo para a próxima etapa, que o ecoa no arquivo de configuração:

Once the config file is all set, cbsh can be invoked like so:

The complete example is available in our repository as a YML file. And this is what a successful run looks like:

So there you go, you now know how to connect to Couchbase in a GitHub Action. And you also got acquainted with Couchbase Shell – give it a try to do  more fun things like migrating all collections, except the _default collection:

And we have more AI-friendly features coming to Couchbase Shell, stay tuned!

References

Compartilhe este artigo

Autor

Laurent é um metaleiro CDF que mora em Paris. Ele escreve código principalmente em Java e texto estruturado em AsciiDoc, e frequentemente fala sobre dados, programação reativa e outras coisas cheias de jargões. Ele também é um ex-Developer Advocate da Clever Cloud e da Nuxeo, onde dedicou seu tempo e sua expertise para ajudar essas comunidades a crescerem maiores e mais fortes. Agora, ele lidera a área de Developer Relations na Couchbase.

Deixe um comentário

Pronto para começar com o Couchbase Capella?

Começar a construir

Confira nosso portal para desenvolvedores para explorar o NoSQL, navegar por recursos e começar com tutoriais.

Use o Capella free

Coloque a mão na massa com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Quer saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.