{"id":2251,"date":"2014-01-09T10:30:27","date_gmt":"2014-01-09T10:30:27","guid":{"rendered":"http:\/\/10.1.1.67:8116\/2015\/07\/10\/2-revision-v1\/"},"modified":"2023-10-11T09:44:37","modified_gmt":"2023-10-11T09:44:37","slug":"servidores-de-integracion-continua-bamboo-jenkins-12","status":"publish","type":"post","link":"https:\/\/fractaliasystems.com\/en\/servidores-de-integracion-continua-bamboo-jenkins-12\/","title":{"rendered":"Servidores de Integraci\u00f3n Continua. Bamboo &#038; Jenkins (1\/2)"},"content":{"rendered":"<p>En los \u00faltimos meses, Fractalia est\u00e1 desarrollando actividades de mejora interna que posicionen a nuestra organizaci\u00f3n como l\u00edder de desarrollo de servicios en el sector Telco. Dentro de estas tareas internas hemos cre\u00eddo necesario la implantaci\u00f3n de un <strong>sistema de integraci\u00f3n continua (CI)<\/strong> que nos ayude en nuestras actividades cotidianas de los procesos de compilaci\u00f3n, pruebas y despliegues internos.<\/p>\n<p>Dentro de la amplia variedad de estos tipos de servidores, nos hemos centrado en el an\u00e1lisis comparativo de dos de ellos: <strong>Bamboo y Jenkins<\/strong>.<\/p>\n<p>La motivaci\u00f3n de esta elecci\u00f3n es bastante sencilla. Por un lado Bamboo es la soluci\u00f3n software que ofrece la empresa Atlassian como servidor de integraci\u00f3n continua. Dado que Fractalia ya dispone de productos de dicha compa\u00f1\u00eda (Jira y Confluence) y tenemos un alto grado de satisfacci\u00f3n con los mismos, nos parec\u00eda interesante considerar Bamboo.<\/p>\n<p><!--more--><\/p>\n<p><a href=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/programa-bamboo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-158\" src=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/programa-bamboo-1024x523.png\" alt=\"Atlassian Bamboo- Build Dashboard\" width=\"604\" height=\"308\" \/><\/a><\/p>\n<p>Por otro lado, Jenkins es un proyecto de c\u00f3digo abierto con una gran difusi\u00f3n y una amplia comunidad, siendo uno de los <b>servidores de integraci\u00f3n continua opensource m\u00e1s utilizados<\/b>.<\/p>\n<p><a href=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/programa-jenkins.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-159\" src=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/programa-jenkins-1024x452.png\" alt=\"Programa Jenkins\" width=\"604\" height=\"266\" \/><\/a>Antes de comenzar el an\u00e1lisis en profundidad, es interesante ver la comparativa que nos ofrece<\/p>\n<p>Wikipedia en <a href=\"http:\/\/en.wikipedia.org\/wiki\/Comparison_of_continuous_integration_software\">http:\/\/en.wikipedia.org\/wiki\/Comparison_of_continuous_integration_software<\/a><\/p>\n<p>En lo relativo a las dos herramientas que vamos a analizar tenemos la siguiente tabla:<\/p>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"98\"><b>Name<\/b><\/td>\n<td valign=\"top\" width=\"261\">\n<p align=\"center\"><a title=\"Jenkins (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Jenkins_%28software%29\">Jenkins<\/a>\/<a title=\"Hudson (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Hudson_%28software%29\">Hudson<\/a><b><\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"256\">\n<p align=\"center\"><a title=\"Bamboo (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Bamboo_%28software%29\">Bamboo<\/a><b><\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"98\"><b>Platform<\/b><\/td>\n<td valign=\"top\" width=\"261\">\n<p align=\"center\"><a title=\"Java Servlet\" href=\"http:\/\/en.wikipedia.org\/wiki\/Java_Servlet#Servlet_containers\">Servlet Container<\/a><\/p>\n<\/td>\n<td valign=\"top\" width=\"256\">\n<p align=\"center\"><a title=\"Java Servlet\" href=\"http:\/\/en.wikipedia.org\/wiki\/Java_Servlet#Servlet_containers\">Servlet Container<\/a><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"98\"><b><a title=\"Bamboo (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Bamboo_%28software%29\">License<\/a><\/b><\/td>\n<td width=\"261\">\n<p align=\"center\"><a title=\"Creative Commons\" href=\"http:\/\/en.wikipedia.org\/wiki\/Creative_Commons\">Creative Commons<\/a> and <a title=\"MIT license\" href=\"http:\/\/en.wikipedia.org\/wiki\/MIT_license\">MIT<\/a><\/p>\n<\/td>\n<td width=\"256\">\n<p align=\"center\"><a title=\"Proprietary software\" href=\"http:\/\/en.wikipedia.org\/wiki\/Proprietary_software\">Proprietary<\/a><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"98\"><b>Window builders<\/b><\/td>\n<td width=\"261\">\n<p align=\"center\"><a title=\"MSBuild\" href=\"http:\/\/en.wikipedia.org\/wiki\/MSBuild\">MSBuild<\/a>, <a title=\"NAnt\" href=\"http:\/\/en.wikipedia.org\/wiki\/NAnt\">NAnt<\/a><\/p>\n<\/td>\n<td width=\"256\">\n<p align=\"center\"><a title=\"MSBuild\" href=\"http:\/\/en.wikipedia.org\/wiki\/MSBuild\">MSBuild<\/a>, <a title=\"NAnt\" href=\"http:\/\/en.wikipedia.org\/wiki\/NAnt\">NAnt<\/a>, <a title=\"Visual Studio\" href=\"http:\/\/en.wikipedia.org\/wiki\/Visual_Studio\">Visual Studio<\/a><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"98\"><b>Java builders<\/b><\/td>\n<td width=\"261\">\n<p align=\"center\"><a title=\"Apache Ant\" href=\"http:\/\/en.wikipedia.org\/wiki\/Apache_Ant\">Ant<\/a>, <a title=\"Apache Maven\" href=\"http:\/\/en.wikipedia.org\/wiki\/Apache_Maven\">Maven 2<\/a>, Kundo<\/p>\n<\/td>\n<td width=\"256\">\n<p align=\"center\"><a title=\"Apache Ant\" href=\"http:\/\/en.wikipedia.org\/wiki\/Apache_Ant\">Ant<\/a>, <a title=\"Apache Maven\" href=\"http:\/\/en.wikipedia.org\/wiki\/Apache_Maven\">Maven 1<\/a>, <a title=\"Apache Maven\" href=\"http:\/\/en.wikipedia.org\/wiki\/Apache_Maven\">Maven 2<\/a>, <a title=\"Apache Maven\" href=\"http:\/\/en.wikipedia.org\/wiki\/Apache_Maven\">Maven 3<\/a><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"98\"><b>Other builders<\/b><\/td>\n<td width=\"261\">\n<p align=\"center\"><a title=\"Cmake\" href=\"http:\/\/en.wikipedia.org\/wiki\/Cmake\">Cmake<\/a>, Gant, Gradle, <a title=\"Grails (framework)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Grails_%28framework%29\">Grails<\/a>, Phing, <a title=\"Rake (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Rake_%28software%29\">Rake<\/a>, <a title=\"Ruby (programming language)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Ruby_%28programming_language%29\">Ruby<\/a>, <a title=\"SCons\" href=\"http:\/\/en.wikipedia.org\/wiki\/SCons\">SCons<\/a>, <a title=\"Shell script\" href=\"http:\/\/en.wikipedia.org\/wiki\/Shell_script\">Shell script<\/a><\/p>\n<\/td>\n<td width=\"256\">\n<p align=\"center\">custom script, command line, Bash<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"98\"><b>SCM system<\/b><\/td>\n<td width=\"261\">\n<p align=\"center\"><a title=\"AccuRev SCM\" href=\"http:\/\/en.wikipedia.org\/wiki\/AccuRev_SCM\">AccuRev SCM<\/a>, <a title=\"Bazaar (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Bazaar_%28software%29\">Bazaar<\/a>, <a title=\"BitKeeper\" href=\"http:\/\/en.wikipedia.org\/wiki\/BitKeeper\">BitKeeper<\/a>, <a title=\"Clearcase\" href=\"http:\/\/en.wikipedia.org\/wiki\/Clearcase\">Clearcase<\/a>, <a title=\"CMVC\" href=\"http:\/\/en.wikipedia.org\/wiki\/CMVC\">CMVC<\/a>, <a title=\"Concurrent Versions System\" href=\"http:\/\/en.wikipedia.org\/wiki\/Concurrent_Versions_System\">CVS<\/a>, <a title=\"Git (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Git_%28software%29\">Git<\/a>, <a title=\"Mercurial (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Mercurial_%28software%29\">Mercurial<\/a>, <a title=\"Perforce\" href=\"http:\/\/en.wikipedia.org\/wiki\/Perforce\">Perforce<\/a>, <a title=\"PVCS\" href=\"http:\/\/en.wikipedia.org\/wiki\/PVCS\">PVCS<\/a>, <a title=\"Microsoft Visual SourceSafe\" href=\"http:\/\/en.wikipedia.org\/wiki\/Microsoft_Visual_SourceSafe\">SourceSafe<\/a>, <a title=\"StarTeam\" href=\"http:\/\/en.wikipedia.org\/wiki\/StarTeam\">StarTeam<\/a>, <a title=\"Subversion (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Subversion_%28software%29\">Subversion<\/a>, <a title=\"Team Foundation Server\" href=\"http:\/\/en.wikipedia.org\/wiki\/Team_Foundation_Server\">TFS<\/a><\/p>\n<\/td>\n<td width=\"256\">\n<p align=\"center\"><a title=\"Concurrent Versions System\" href=\"http:\/\/en.wikipedia.org\/wiki\/Concurrent_Versions_System\">CVS<\/a>, <a title=\"Subversion (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Subversion_%28software%29\">Subversion<\/a>, <a title=\"Perforce\" href=\"http:\/\/en.wikipedia.org\/wiki\/Perforce\">Perforce<\/a>, ClearCase, Mercurial, Dimension, <a title=\"Git (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Git_%28software%29\">Git<\/a><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"98\"><b>Notification<\/b><\/td>\n<td width=\"261\">\n<p align=\"center\"><a title=\"Android (operating system)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Android_%28operating_system%29\">Android<\/a>, <a title=\"E-mail\" href=\"http:\/\/en.wikipedia.org\/wiki\/E-mail\">E-mail<\/a>, <a title=\"Google Calendar\" href=\"http:\/\/en.wikipedia.org\/wiki\/Google_Calendar\">Google Calendar<\/a>, <a title=\"Internet Relay Chat\" href=\"http:\/\/en.wikipedia.org\/wiki\/Internet_Relay_Chat\">IRC<\/a>, <a title=\"Extensible Messaging and Presence Protocol\" href=\"http:\/\/en.wikipedia.org\/wiki\/Extensible_Messaging_and_Presence_Protocol\">XMPP<\/a>, <a title=\"RSS\" href=\"http:\/\/en.wikipedia.org\/wiki\/RSS\">RSS<\/a>, <a title=\"Twitter\" href=\"http:\/\/en.wikipedia.org\/wiki\/Twitter\">Twitter<\/a><\/p>\n<\/td>\n<td width=\"256\">\n<p align=\"center\"><a title=\"Extensible Messaging and Presence Protocol\" href=\"http:\/\/en.wikipedia.org\/wiki\/Extensible_Messaging_and_Presence_Protocol\">XMPP<\/a>, <a title=\"Google Talk\" href=\"http:\/\/en.wikipedia.org\/wiki\/Google_Talk\">Google Talk<\/a>, <a title=\"E-mail\" href=\"http:\/\/en.wikipedia.org\/wiki\/E-mail\">E-mail<\/a>, <a title=\"RSS\" href=\"http:\/\/en.wikipedia.org\/wiki\/RSS\">RSS<\/a>, <a title=\"Remote API (page does not exist)\" href=\"http:\/\/en.wikipedia.org\/w\/index.php?title=Remote_API&amp;action=edit&amp;redlink=1\">Remote API<\/a><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"98\"><b>IDE Integration<\/b><\/td>\n<td width=\"261\">\n<p align=\"center\"><a title=\"Eclipse (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Eclipse_%28software%29\">Eclipse<\/a>, <a title=\"IntelliJ IDEA\" href=\"http:\/\/en.wikipedia.org\/wiki\/IntelliJ_IDEA\">IntelliJ IDEA<\/a>, <a title=\"NetBeans\" href=\"http:\/\/en.wikipedia.org\/wiki\/NetBeans\">NetBeans<\/a><\/p>\n<\/td>\n<td width=\"256\">\n<p align=\"center\"><a title=\"IntelliJ IDEA\" href=\"http:\/\/en.wikipedia.org\/wiki\/IntelliJ_IDEA\">IntelliJ IDEA<\/a>, <a title=\"Eclipse (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Eclipse_%28software%29\">Eclipse<\/a>, <a title=\"Visual studio\" href=\"http:\/\/en.wikipedia.org\/wiki\/Visual_studio\">Visual Studio<\/a><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"98\"><b>Other Integration<\/b><\/td>\n<td width=\"261\">\n<p align=\"center\"><a title=\"Bugzilla\" href=\"http:\/\/en.wikipedia.org\/wiki\/Bugzilla\">Bugzilla<\/a>, <a title=\"Google Code\" href=\"http:\/\/en.wikipedia.org\/wiki\/Google_Code\">Google Code<\/a>, <a title=\"JIRA\" href=\"http:\/\/en.wikipedia.org\/wiki\/JIRA\">JIRA<\/a>, <a title=\"Mantis Bug Tracker\" href=\"http:\/\/en.wikipedia.org\/wiki\/Mantis_Bug_Tracker\">Mantis<\/a>, <a title=\"Trac\" href=\"http:\/\/en.wikipedia.org\/wiki\/Trac\">Trac<\/a><\/p>\n<\/td>\n<td width=\"256\">\n<p align=\"center\"><a title=\"FishEye\" href=\"http:\/\/en.wikipedia.org\/wiki\/FishEye\">FishEye<\/a>, <a title=\"Crowd\" href=\"http:\/\/en.wikipedia.org\/wiki\/Crowd\">Crowd<\/a>, <a title=\"JIRA\" href=\"http:\/\/en.wikipedia.org\/wiki\/JIRA\">JIRA<\/a>, <a title=\"Clover (software)\" href=\"http:\/\/en.wikipedia.org\/wiki\/Clover_%28software%29\">Clover<\/a><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Somos conscientes de que todas las tareas necesarias en este tipo de entornos pueden realizarse con ejecuciones de scripts y, en definitiva, por l\u00ednea de comando. Es viable, por tanto, la utilizaci\u00f3n de cualquiera de ambas soluciones, pero queremos obtener el m\u00e1ximo partido y explotar las posibilidades de configuraci\u00f3n y ejecuci\u00f3n autom\u00e1tica que nos presenten, frente a la configuraci\u00f3n manual y a base de scripting. De esta forma se pretende ganar en automatizaci\u00f3n, mantenibilidad y, en definitiva, productividad de los equipos de desarrollo y de calidad.<\/p>\n<p>Con respecto al estudio exhaustivo realizado por Fractalia, en este post os indicamos las conclusiones relativas al comportamiento de Bamboo y Jenkis en los siguientes escenarios:<\/p>\n<ul>\n<li>Integraci\u00f3n con sistemas \u201cSource Code Management\u201d (SCM)<\/li>\n<li>Compilaci\u00f3n con Visual Studio<\/li>\n<li>Generaci\u00f3n de instaladores o proyectos de setup<\/li>\n<\/ul>\n<ol start=\"1\">\n<li><b><span style=\"text-decoration: underline;\">Integraci\u00f3n con sistemas de gesti\u00f3n de c\u00f3digo fuente o \u201cSource Code Management\u201d (SCM)<\/span><\/b><\/li>\n<\/ol>\n<p>En este punto se ha estudiado la integraci\u00f3n con los distintos SCMs y, en concreto, con subversi\u00f3n y mercurial.<\/p>\n<p><i>Bamboo<\/i><\/p>\n<p>En su instalaci\u00f3n b\u00e1sica Bamboo soporta la integraci\u00f3n con los siguientes SCMs: Subversion, Perforce, Mercurial, Bitbucket, Git y GitHub.<\/p>\n<p>Se han encontrado Add-Ons en el martketplace para los siguientes SCMs: TFS.<\/p>\n<p><i>Jenkins<\/i><\/p>\n<p>En su instalaci\u00f3n b\u00e1sica Jenkins soporta la integraci\u00f3n con los siguientes SCMs: CVS, CVS Projectjset y Subversion<\/p>\n<p>Jenkins contiene plugins para los siguientes SCMs: Accurev, Bazaar, BitKeeper, ClearCase, CMVC, Darcs, Dimensions, Git, GitBucket, CA Harvest, Mercurial, Perforce, PlasticsSCM, PVCS, StartTeam, Surround, TFS, Unity Asset, Vault\/Fortress y SourceSafe.<\/p>\n<ol start=\"2\">\n<li><b><span style=\"text-decoration: underline;\">Compilaci\u00f3n con Visual Studio <\/span><\/b><\/li>\n<\/ol>\n<p>El sistema elegido debe poder compilar correctamente con los distintos Visual Studio que trabajamos (desde 2005 hasta 2012). Las compilaciones pueden ser utilizando la herramienta de l\u00ednea de comando del Framework MSBuild o directamente el ejecutable de Visual Studio devenv.<\/p>\n<p><i>Bamboo<\/i><\/p>\n<p>Integraci\u00f3n con el compilador de Visual Studio directa: devenv.com. Se pueden definir tantos ejecutables de Visual Studio (devenv.com) como se quieran, sin m\u00e1s que a\u00f1adir el path donde se encuentra (no puede cambiarse el nombre del ejecutable).<\/p>\n<p>Se a\u00f1aden al sistema como ejecutables del tipo Visual Studio, asoci\u00e1ndose a los planes como tareas de dicho tipo:<\/p>\n<p><a href=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/task-types.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-160\" src=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/task-types-1024x819.png\" alt=\"Integraci\u00f3n Bamboo con el compilador Visual Studio\" width=\"604\" height=\"483\" \/><\/a><\/p>\n<p>Al igual que en el caso anterior, Bamboo permite la compilaci\u00f3n mediante la utilizaci\u00f3n de MsBuild. Tambi\u00e9n pueden definirse tantos ejecutables como se quieran (referenciando a cada Framework instalado, por ejemplo) y, en este caso s\u00ed se permite referenciar el ejecutable exacto.<\/p>\n<p>Se a\u00f1aden al sistema como ejecutables del tipo MSBuild, asoci\u00e1ndose a los planes como tareas de dicho tipo:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/task-types-1024x819.png\" alt=\"Integraci\u00f3n Bamboo con el compilador Visual Studio\" \/><\/p>\n<p><i>Jenkins<\/i><\/p>\n<p>La configuraci\u00f3n de Jenkins no diferencia las compilaciones realizadas con Visual Studio (devenv.com) de las de MsBuild, configur\u00e1ndose ambas desde el plugin llamado \u201cJenkins MSBuild Plugin\u201d<\/p>\n<p>Se permite seleccionar tantas instalaciones como se quiera (varias instalaciones de Visual Studio y\/o del Framework)<\/p>\n<p><a href=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/instalaciones-jekins.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-161\" src=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/instalaciones-jekins.png\" alt=\"Configuraci\u00f3n de Jenkins\" width=\"951\" height=\"432\" \/><\/a><\/p>\n<p>A los proyectos se les asocia como pasos en el proceso de ejecuci\u00f3n:<\/p>\n<p><a href=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/instalaciones-jekins-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-162\" src=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/instalaciones-jekins-2-1024x819.png\" alt=\"Proceso de ejecuci\u00f3n de proyectos en la configuraci\u00f3n de Jenkins\" width=\"604\" height=\"483\" \/><\/a><\/p>\n<ol start=\"3\">\n<li><b><span style=\"text-decoration: underline;\">Generaci\u00f3n de instaladores o proyectos de setup<\/span><\/b><\/li>\n<\/ol>\n<p>En este punto se pretende estudiar la generaci\u00f3n de instaladores. Son particularmente interesantes los proyectos del tipo:<\/p>\n<ul>\n<li>Visual Studio Installer: Tecnolog\u00eda \u201clegacy\u201d en Visual Studio, pero en la que tenemos desarrollados algunos instaladores de Fractalia Manager y Fractalia Media, es decir, productos propios de Fractalia. S\u00f3lo disponible para VS anteriores al 2012<\/li>\n<li>InstallShield: Tecnolog\u00eda por la que apuesta Microsoft desde VS 2012. La versi\u00f3n completa es muy costosa y deber\u00eda utilizarse la edici\u00f3n limitada.<\/li>\n<li>Windows Installer XML (WIX): Tecnolog\u00eda abierta muy extendida en la generaci\u00f3n de instaladores con Visual Studio.<\/li>\n<\/ul>\n<p><i>Bamboo<\/i><\/p>\n<p>No se ha encontrado funcionalidad espec\u00edfica para esta tarea, ni en la instalaci\u00f3n b\u00e1sica de Bamboo, ni en sus AddOns.<\/p>\n<p>Debido a ello ser\u00e1 necesario que la generaci\u00f3n de los instaladores est\u00e9 integrada dentro del proceso general de compilaci\u00f3n, o que se realice desde l\u00ednea de comando.<\/p>\n<p><i>Jenkins<\/i><\/p>\n<p>Jenkins dispone de un plugin para integrarse con WIX, por lo que para el resto de instaladores deber\u00e1n generarse dentro del proceso de compilaci\u00f3n o realizarse desde l\u00ednea de comando.<\/p>\n<p>Esto es todo por el momento. En el siguiente post continuaremos informando de las diferencias destacables entre Bamboo y Jenkins.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En los \u00faltimos meses, Fractalia est\u00e1 desarrollando actividades de mejora interna que posicionen a nuestra organizaci\u00f3n como l\u00edder de desarrollo de servicios en el sector Telco. Dentro de estas tareas internas hemos cre\u00eddo necesario la implantaci\u00f3n de un sistema de integraci\u00f3n continua (CI) que nos ayude en nuestras actividades cotidianas de los procesos de compilaci\u00f3n,<br \/><a href=\"https:\/\/fractaliasystems.com\/en\/servidores-de-integracion-continua-bamboo-jenkins-12\/\" class=\"more\">Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":2252,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-2251","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-fractalia"],"_links":{"self":[{"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/posts\/2251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/comments?post=2251"}],"version-history":[{"count":1,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/posts\/2251\/revisions"}],"predecessor-version":[{"id":7196,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/posts\/2251\/revisions\/7196"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/media\/2252"}],"wp:attachment":[{"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/media?parent=2251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/categories?post=2251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/tags?post=2251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}