{"id":16448,"date":"2024-10-15T09:21:41","date_gmt":"2024-10-15T16:21:41","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=16448"},"modified":"2024-10-18T12:14:47","modified_gmt":"2024-10-18T19:14:47","slug":"automate-couchbase-tests-github-actions","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/automate-couchbase-tests-github-actions\/","title":{"rendered":"Probando Couchbase con GitHub Actions y CBSH"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">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<\/span>\u00a0<a href=\"https:\/\/cosmonic.com\/\"><span style=\"font-weight: 400;\">Cosm\u00f3nico<\/span><\/a><span style=\"font-weight: 400;\">. Puede consultar el c\u00f3digo <a href=\"https:\/\/github.com\/couchbaselabs\/wasmcloud-provider-couchbase\">en nuestro repositorio<\/a>.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Y al principio de cada proyecto surge el tema del ciclo de vida de desarrollo y su infraestructura. \u00bfC\u00f3mo ejecutamos autom\u00e1ticamente las pruebas de nuestro proyecto en el que interviene un servidor Couchbase? GitHub proporciona <a href=\"https:\/\/docs.github.com\/en\/actions\">Acciones<\/a> que nos permite ejecutar c\u00f3digo en varios momentos.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para crear una acci\u00f3n, puede hacer clic en la pesta\u00f1a Acci\u00f3n de su repositorio o a\u00f1adir un archivo en <\/span><i><span style=\"font-weight: 400;\"><code>.github\/workflows<\/code><\/span><\/i><span style=\"font-weight: 400;\">. Hay un mont\u00f3n de maneras diferentes para desencadenar la ejecuci\u00f3n de la acci\u00f3n. Como en cada <\/span><i><span style=\"font-weight: 400;\"><code>git push<\/code><\/span><\/i><span style=\"font-weight: 400;\">. S\u00f3lo quiero algo simple que se asegure de que mi Cluster Couchbase sigue aqu\u00ed y accesible a trav\u00e9s de secretos espec\u00edficos o variables de entorno. As\u00ed que aqu\u00ed s\u00f3lo voy a elegir una expresi\u00f3n cron b\u00e1sica. La acci\u00f3n se ejecutar\u00e1 todos los lunes a medianoche.<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">nombre: test Couchbase Credential\r\non:\r\n  cron:\r\n    - cron: '0 0 * * 1'<\/pre>\n<p><span style=\"font-weight: 400;\">Ahora, sobre secretos y variables de entorno. Por supuesto, algunos de ellos son, bueno, secretos. Y deben ser gestionados como tales. Afortunadamente GitHub pens\u00f3 en todo y nos da una manera de configurar secretos o variables de entorno por repositorio u organizaci\u00f3n. Si vas a Configuraci\u00f3n\/Secretos y variables\/acciones, deber\u00edas ver la siguiente p\u00e1gina:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-16449\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-5-1024x1008.png\" alt=\"\" width=\"900\" height=\"886\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-5-1024x1008.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-5-300x295.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-5-768x756.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-5-65x65.png 65w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-5-50x50.png 50w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-5.png 1245w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Esto le permite definir cualquier secreto o variable de entorno que pueda necesitar para sus acciones, y mucho m\u00e1s. Aqu\u00ed puedes ver que he configurado:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>CUBO_CAMA<\/strong> - El nombre del Cubo que quiero utilizar<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>COUCHBASE_CONNECTION_STRING<\/strong> - La cadena de conexi\u00f3n Couchbase completa, tal y como se indica en el archivo <\/span><i><span style=\"font-weight: 400;\">conecte<\/span><\/i><span style=\"font-weight: 400;\"> Ficha de Capella, por ejemplo<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>COUCHBASE_USERNAME<\/strong> - El nombre de usuario utilizado para conectarse al cl\u00faster<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>COUCHBASE_PASSWORD<\/strong> - La contrase\u00f1a utilizada para conectarse al cl\u00faster<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Ahora llega el momento de escribir la prueba. Todo lo que quiero hacer es asegurarme de que tengo una conexi\u00f3n a un cluster que funciona, para poder mostrar a mis colaboradores c\u00f3mo se pueden usar los secretos\/variables inv. Una forma sencilla de probar una conexi\u00f3n es utilizar el m\u00e9todo<\/span>\u00a0<a href=\"https:\/\/couchbase.sh\/\"><span style=\"font-weight: 400;\">Shell de Couchbase<\/span><\/a><span style=\"font-weight: 400;\"> tambi\u00e9n conocido como cbsh. Se puede instalar f\u00e1cilmente en Ubuntu. Todo lo que necesitas es descargarlo y descomprimirlo. Esto se puede hacer en un par de pasos:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">trabajos:\r\n  test_credential:\r\n    se ejecuta en: ubuntu-latest\r\n    nombre: Probar que la variable env dada funciona\r\n    pasos:\r\n        shell: bash\r\n        env:\r\n          COUCHBASE_CONNECTION_STRING: ${{ secrets.COUCHBASE_CONNECTION_STRING }}\r\n          COUCHBASE_USERNAME: ${{ secretos.COUCHBASE_USERNAME }}\r\n          COUCHBASE_PASSWORD: ${ secrets.COUCHBASE_PASSWORD }}\r\n      - ejecutar: wget https:\/\/github.com\/couchbaselabs\/couchbase-shell\/releases\/download\/v0.75.1\/cbsh-x86_64-unknown-linux-gnu.tar.gz\r\n      - ejecutar: tar -xvzf cbsh-x86_64-unknown-linux-gnu.tar.gz\r\n<\/pre>\n<p>A partir de ah\u00ed, el int\u00e9rprete de comandos est\u00e1 disponible simplemente ejecutando <i><code>.\/cbsh<\/code><\/i>. Obs\u00e9rvese que <i><code>funciona en<\/code><\/i> nos indica qu\u00e9 contenedor utilizar para ejecutar la acci\u00f3n, <i><code>concha<\/code><\/i> se establece en bash y <i><code>env<\/code><\/i> hace que los secretos est\u00e9n disponibles como variables de entorno.<\/p>\n<p><span style=\"font-weight: 400;\">Dado que este caparaz\u00f3n se basa en <a href=\"https:\/\/www.nushell.sh\/\">nushell<\/a>\u00a0y se pedir\u00e1 una contrase\u00f1a, no he podido canalizarla directamente despu\u00e9s de la invocaci\u00f3n de esta manera:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:default decode:true\">echo $COUCHBASE_PASSWORD | .\/cbsh --username $COUCHBASE_USERNAME--connstr $COUCHASE_CONNECTION_STRING<\/pre>\n<p><span style=\"font-weight: 400;\">Como esto no funciona, tuve que utilizar un <\/span><i><span style=\"font-weight: 400;\">cbsh<\/span><\/i><span style=\"font-weight: 400;\"> en su lugar. Y, lamentablemente, la sintaxis es un poco complicado para el formato de texto de varias l\u00edneas y tuber\u00edas. Aqu\u00ed, estoy creando una nueva variable llamada <em>CONFIG<\/em>que contiene los valores de las variables de entorno, poniendo el resultado en <em>$GITHUB_ENV<\/em>lo que me permite pasarlo al siguiente paso, que se hace eco en el archivo de configuraci\u00f3n:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">- correr: |\r\n          CONFIG=$(cat &lt;&lt; EOF\r\n            versi\u00f3n = 1\r\n            \r\n            [[cluster]]\r\n            identificador = &quot;local&quot;\r\n            connstr = &quot;$COUCHBASE_CONNECTION_STRING&quot;\r\n            nombre_usuario = &quot;$COUCHBASE_USERNAME&quot;\r\n            contrase\u00f1a = &quot;$COUCHBASE_PASSWORD&quot;\r\n          EOF\r\n          )\r\n          echo &quot;CONFIG&lt;&gt; $GITHUB_ENV\r\n          echo \"$CONFIG\" &gt;&gt; $GITHUB_ENV\r\n          echo \"EOF\" &gt;&gt; $GITHUB_ENV\r\n      - run: echo \"$CONFIG\" &gt;&gt; config\r\n<\/pre>\n<p>Una vez que el archivo de configuraci\u00f3n est\u00e1 todo listo, <i>cbsh<\/i> puede invocarse as\u00ed:<\/p>\n<pre class=\"nums:false lang:default decode:true\">\u00a0 \u00a0 \u00a0 - ejecutar: .\/cbsh --config-dir . -c cb-env<\/pre>\n<p><span style=\"font-weight: 400;\">El ejemplo completo est\u00e1 disponible en <a href=\"https:\/\/github.com\/couchbaselabs\/wasmcloud-provider-couchbase\/blob\/main\/.github\/workflows\/capella_connection_test.yml\">nuestro repositorio como archivo YML<\/a>.<\/span><span style=\"font-weight: 400;\">\u00a0Y esto es lo que parece una carrera exitosa:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-16450\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-3-1024x821.png\" alt=\"\" width=\"900\" height=\"722\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-3-1024x821.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-3-300x240.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-3-768x615.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-3-1536x1231.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-3-1320x1058.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-3.png 1556w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">As\u00ed que ya est\u00e1, ya sabes c\u00f3mo conectarte a Couchbase en una acci\u00f3n de GitHub. Y tambi\u00e9n te has familiarizado con Couchbase Shell - pru\u00e9balo para hacer \u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-shell-data-manipulation\/\">m\u00e1s cosas divertidas<\/a> como migrar todas las colecciones, excepto la <\/span><em><span style=\"font-weight: 400;\">Por defecto<\/span><\/em><span style=\"font-weight: 400;\"> colecci\u00f3n:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:default decode:true\">collections --clusters \"On-Prem-Cluster\" --bucket \"travel-sample\" | select scope collection | where $it.scope != \"_default\" | where $it.collection != \"_default\" | each { |it| collections create $it.collection --clusters \"Capella-Cluster\" --bucket \"travel-sample-import\" --scope $it.scope<\/pre>\n<p><span style=\"font-weight: 400;\">Y tenemos m\u00e1s caracter\u00edsticas amigables con la IA en camino para Couchbase Shell, \u00a1est\u00e9n atentos!<\/span><\/p>\n<h2>Referencias<\/h2>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"https:\/\/github.com\/couchbaselabs\/wasmcloud-provider-couchbase\">Proveedor wasmCloud para Couchbase (GitHub)<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-shell-data-manipulation\/\">Uso de Couchbase Shell para transformar y escribir datos (Blog)<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>I have recently been working on an exciting project, a wasmCloud capability provider for Couchbase. We are building this in the open with the fine folks at\u00a0Cosmonic. You can checkout the code in our repository. And early in every project [&hellip;]<\/p>","protected":false},"author":49,"featured_media":16451,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2242,2225,1816,2334],"tags":[2134,10020,10024,1413,10038],"ppma_author":[9023],"class_list":["post-16448","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-connectors","category-cloud","category-couchbase-server","category-monitoring","tag-actions","tag-cbshell","tag-couchbase-shell","tag-github","tag-nushell"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Testing Couchbase with GitHub Actions and CBSH - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Automate Couchbase connection tests in GitHub Actions using environment variables, secrets and Couchbase Shell, including set up steps.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/automate-couchbase-tests-github-actions\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Testing Couchbase with GitHub Actions and CBSH\" \/>\n<meta property=\"og:description\" content=\"Automate Couchbase connection tests in GitHub Actions using environment variables, secrets and Couchbase Shell, including set up steps.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/automate-couchbase-tests-github-actions\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-15T16:21:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-18T19:14:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-github-actions-couchbase-1024x536.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"536\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Laurent Doguin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ldoguin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"unstructured.io\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/\"},\"author\":{\"name\":\"Laurent Doguin\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e\"},\"headline\":\"Testing Couchbase with GitHub Actions and CBSH\",\"datePublished\":\"2024-10-15T16:21:41+00:00\",\"dateModified\":\"2024-10-18T19:14:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/\"},\"wordCount\":602,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-github-actions-couchbase.png\",\"keywords\":[\"actions\",\"cbshell\",\"couchbase shell\",\"GitHub\",\"nushell\"],\"articleSection\":[\"Connectors\",\"Couchbase Capella\",\"Couchbase Server\",\"Monitoring\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/\",\"name\":\"Testing Couchbase with GitHub Actions and CBSH - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-github-actions-couchbase.png\",\"datePublished\":\"2024-10-15T16:21:41+00:00\",\"dateModified\":\"2024-10-18T19:14:47+00:00\",\"description\":\"Automate Couchbase connection tests in GitHub Actions using environment variables, secrets and Couchbase Shell, including set up steps.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-github-actions-couchbase.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-github-actions-couchbase.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Testing Couchbase with GitHub Actions and CBSH\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e\",\"name\":\"Laurent Doguin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/12929ce99397769f362b7a90d6b85071\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g\",\"caption\":\"Laurent Doguin\"},\"description\":\"Laurent is a nerdy metal head who lives in Paris. He mostly writes code in Java and structured text in AsciiDoc, and often talks about data, reactive programming and other buzzwordy stuff. He is also a former Developer Advocate for Clever Cloud and Nuxeo where he devoted his time and expertise to helping those communities grow bigger and stronger. He now runs Developer Relations at Couchbase.\",\"sameAs\":[\"https:\/\/x.com\/ldoguin\"],\"honorificPrefix\":\"Mr\",\"birthDate\":\"1985-06-07\",\"gender\":\"male\",\"award\":[\"Devoxx Champion\",\"Couchbase Legend\"],\"knowsAbout\":[\"Java\"],\"knowsLanguage\":[\"English\",\"French\"],\"jobTitle\":\"Director Developer Relation & Strategy\",\"worksFor\":\"Couchbase\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/laurent-doguin\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Testing Couchbase with GitHub Actions and CBSH - The Couchbase Blog","description":"Automatizar las pruebas de conexi\u00f3n de Couchbase en GitHub Actions utilizando variables de entorno, secretos y Couchbase Shell, incluyendo los pasos de configuraci\u00f3n.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/automate-couchbase-tests-github-actions\/","og_locale":"es_MX","og_type":"article","og_title":"Testing Couchbase with GitHub Actions and CBSH","og_description":"Automate Couchbase connection tests in GitHub Actions using environment variables, secrets and Couchbase Shell, including set up steps.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/automate-couchbase-tests-github-actions\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-10-15T16:21:41+00:00","article_modified_time":"2024-10-18T19:14:47+00:00","og_image":[{"width":1024,"height":536,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-github-actions-couchbase-1024x536.png","type":"image\/png"}],"author":"Laurent Doguin","twitter_card":"summary_large_image","twitter_creator":"@ldoguin","twitter_misc":{"Written by":"unstructured.io","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/"},"author":{"name":"Laurent Doguin","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e"},"headline":"Testing Couchbase with GitHub Actions and CBSH","datePublished":"2024-10-15T16:21:41+00:00","dateModified":"2024-10-18T19:14:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/"},"wordCount":602,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-github-actions-couchbase.png","keywords":["actions","cbshell","couchbase shell","GitHub","nushell"],"articleSection":["Connectors","Couchbase Capella","Couchbase Server","Monitoring"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/","url":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/","name":"Testing Couchbase with GitHub Actions and CBSH - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-github-actions-couchbase.png","datePublished":"2024-10-15T16:21:41+00:00","dateModified":"2024-10-18T19:14:47+00:00","description":"Automatizar las pruebas de conexi\u00f3n de Couchbase en GitHub Actions utilizando variables de entorno, secretos y Couchbase Shell, incluyendo los pasos de configuraci\u00f3n.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-github-actions-couchbase.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-github-actions-couchbase.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/automate-couchbase-tests-github-actions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Testing Couchbase with GitHub Actions and CBSH"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e","name":"Laurent Doguin","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/12929ce99397769f362b7a90d6b85071","url":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","caption":"Laurent Doguin"},"description":"Laurent es un metalero empoll\u00f3n que vive en Par\u00eds. Principalmente escribe c\u00f3digo en Java y texto estructurado en AsciiDoc, y a menudo habla sobre datos, programaci\u00f3n reactiva y otras cosas de moda. Tambi\u00e9n fue Developer Advocate de Clever Cloud y Nuxeo, donde dedic\u00f3 su tiempo y experiencia a ayudar a esas comunidades a crecer y fortalecerse. Ahora dirige las relaciones con los desarrolladores en Couchbase.","sameAs":["https:\/\/x.com\/ldoguin"],"honorificPrefix":"Mr","birthDate":"1985-06-07","gender":"male","award":["Devoxx Champion","Couchbase Legend"],"knowsAbout":["Java"],"knowsLanguage":["English","French"],"jobTitle":"Director Developer Relation & Strategy","worksFor":"Couchbase","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/laurent-doguin\/"}]}},"authors":[{"term_id":9023,"user_id":49,"is_guest":0,"slug":"laurent-doguin","display_name":"Laurent Doguin","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","author_category":"","last_name":"Doguin","first_name":"Laurent","job_title":"","user_url":"","description":"Laurent es un metalero empoll\u00f3n que vive en Par\u00eds. Principalmente escribe c\u00f3digo en Java y texto estructurado en AsciiDoc, y a menudo habla sobre datos, programaci\u00f3n reactiva y otras cosas de moda. Tambi\u00e9n fue Developer Advocate de Clever Cloud y Nuxeo, donde dedic\u00f3 su tiempo y experiencia a ayudar a esas comunidades a crecer y fortalecerse. Ahora dirige las relaciones con los desarrolladores en Couchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/16448","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=16448"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/16448\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/16451"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=16448"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=16448"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=16448"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=16448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}