Conectores

Probando Couchbase con GitHub Actions y CBSH

Recientemente he estado trabajando en un emocionante proyecto, un proveedor de capacidades wasmCloud para Couchbase. Lo estamos construyendo en abierto con la buena gente de Cosmónico. Puede consultar el código en nuestro repositorio.

Y al principio de cada proyecto surge el tema del ciclo de vida de desarrollo y su infraestructura. ¿Cómo ejecutamos automáticamente las pruebas de nuestro proyecto en el que interviene un servidor Couchbase? GitHub proporciona Acciones que nos permite ejecutar código en varios momentos.

Para crear una acción, puede hacer clic en la pestaña Acción de su repositorio o añadir un archivo en .github/workflows. Hay un montón de maneras diferentes para desencadenar la ejecución de la acción. Como en cada git push. Sólo quiero algo simple que se asegure de que mi Cluster Couchbase sigue aquí y accesible a través de secretos específicos o variables de entorno. Así que aquí sólo voy a elegir una expresión cron básica. La acción se ejecutará todos los lunes a medianoche.

Ahora, sobre secretos y variables de entorno. Por supuesto, algunos de ellos son, bueno, secretos. Y deben ser gestionados como tales. Afortunadamente GitHub pensó en todo y nos da una manera de configurar secretos o variables de entorno por repositorio u organización. Si vas a Configuración/Secretos y variables/acciones, deberías ver la siguiente página:

Esto le permite definir cualquier secreto o variable de entorno que pueda necesitar para sus acciones, y mucho más. Aquí puedes ver que he configurado:

    • CUBO_CAMA - El nombre del Cubo que quiero utilizar
    • COUCHBASE_CONNECTION_STRING - La cadena de conexión Couchbase completa, tal y como se indica en el archivo conecte Ficha de Capella, por ejemplo
    • COUCHBASE_USERNAME - El nombre de usuario utilizado para conectarse al clúster
    • COUCHBASE_PASSWORD - La contraseña utilizada para conectarse al clúster

Ahora llega el momento de escribir la prueba. Todo lo que quiero hacer es asegurarme de que tengo una conexión a un cluster que funciona, para poder mostrar a mis colaboradores cómo se pueden usar los secretos/variables inv. Una forma sencilla de probar una conexión es utilizar el método Shell de Couchbase también conocido como cbsh. Se puede instalar fácilmente en Ubuntu. Todo lo que necesitas es descargarlo y descomprimirlo. Esto se puede hacer en un par de pasos:

A partir de ahí, el intérprete de comandos está disponible simplemente ejecutando ./cbsh. Obsérvese que funciona en nos indica qué contenedor utilizar para ejecutar la acción, concha se establece en bash y env hace que los secretos estén disponibles como variables de entorno.

Dado que este caparazón se basa en nushell y se pedirá una contraseña, no he podido canalizarla directamente después de la invocación de esta manera:

Como esto no funciona, tuve que utilizar un cbsh en su lugar. Y, lamentablemente, la sintaxis es un poco complicado para el formato de texto de varias líneas y tuberías. Aquí, estoy creando una nueva variable llamada CONFIGque contiene los valores de las variables de entorno, poniendo el resultado en $GITHUB_ENVlo que me permite pasarlo al siguiente paso, que se hace eco en el archivo de configuración:

Una vez que el archivo de configuración está todo listo, cbsh puede invocarse así:

El ejemplo completo está disponible en nuestro repositorio como archivo YML. Y esto es lo que parece una carrera exitosa:

Así que ya está, ya sabes cómo conectarte a Couchbase en una acción de GitHub. Y también te has familiarizado con Couchbase Shell - pruébalo para hacer  más cosas divertidas como migrar todas las colecciones, excepto la Por defecto colección:

Y tenemos más características amigables con la IA en camino para Couchbase Shell, ¡estén atentos!

Referencias

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Laurent Doguin

Laurent es un metalero empollón que vive en París. Principalmente escribe código en Java y texto estructurado en AsciiDoc, y a menudo habla sobre datos, programación reactiva y otras cosas de moda. También fue Developer Advocate de Clever Cloud y Nuxeo, donde dedicó su tiempo y experiencia a ayudar a esas comunidades a crecer y fortalecerse. Ahora dirige las relaciones con los desarrolladores en Couchbase.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.